2010-11-18 11 views
2

Comment afficher une fenêtre contextuelle de base avec un dicton basé sur un nombre aléatoire généré. Je voulais utiliser une instruction switch, mais qui affiche simplement toutes les paroles, à savoir:Comment afficher différentes expressions, basées sur un nombre aléatoire

int random = (int) Math.ceil(Math.random() * 5); 

     switch(random){ 
      case 1: 
       showToast(this, "Saying 1."); 

      case 2: 
       showToast(this, "Saying 2."); 
} 

etc ....

Comme je l'ai dit, cela affiche toutes les 5 déclarations de cas, est-il une meilleure façon générer et afficher au hasard en fonction du nombre, ou est-ce que je fais tout faux?

Merci!

+0

Je pensais à cette fois. mais j'ai donné quand je ne pouvais pas répondre: Whatif il y a 1000 dictons. Cant peut avoir 1000 cas swtch. Une réponse ici serait également bénéfique pour moi :) – theTuxRacer

+1

Dude ... je manque la pause; :) – amithgc

Répondre

4

Les instructions case à l'intérieur d'un commutateur "tomber" si vous n'en avez pas break sur eux.

Il devrait ressembler à ceci:

switch(random) { 
    case 1: 
     statement; 
     break; 
    case 2: 
     statement; 
     break; 
... 
} 

sauts instruction break à la ligne suivante après l'instruction switch.

0

Vous pouvez aussi essayer quelque chose comme

String[] sayings = {"Saying 1.", "Saying 2.", "Saying 3.", "Saying 4.", "Saying 5."}; 
int random = (int) Math.ceil(Math.random() * 5); 
showToast(this, sayings[random]); 

et si vous avez plus d'articles, vous pouvez préparer le tableau de chaînes dynamiquement avant utilisation.

0

S'il y a beaucoup de paroles ... vous pouvez aussi mettre un fichier txt dans votre dossier actif avec de nombreux dictons (une par ligne), lire et afficher le dire à partir d'un numéro de ligne généré au hasard ..

Activity.getAssets().open("sayingsfile.txt");