2010-04-01 3 views
0

est ici la méthode:Pourquoi cette méthode n'imprime-t-elle pas son texte? (Java)

public static int chooseStrat() 
{ 
    String[] strats = new String[1] ; 
    strats[0] = "0 - Blob" ; 
    int n ; 
    boolean a = false ; 
    while (a == false) ; 
    { 
     System.out.println ("Which strategy should the AI use?(#)") ; 
     printArrayS (strats) ; 
     n = getInt() ; 
     System.out.println ("you selected "+n+"."+" are you sure you want the computer to use the "+ strats[n]+ " ?(Y/N)") ; 
     String c = getIns() ; 
     while ((((!( (c.equals ("y")) || (c.equals ("Y")) )) && (!((c.equals ("n")) || (c.equals ("N"))))))) ; 
     { 
      System.out.println ("try again") ; 
      c = getIns() ; 
     } 
     if ((c.equals ("Y")) || (c.equals ("y"))) 
      a = true ; 
    } 
    return n ; 
} 

Quand je lance cela, il ne imprime pas « Quelle stratégie l'utilisation AI (#)? » Il essaie juste d'obtenir une entrée à partir du clavier. pourquoi fait-il cela?

+0

qu'est-ce que getIns()? Est-ce une fonction qui reçoit une entrée du clavier? –

+0

printArrayS, qu'est-ce que c'est? – Ben

Répondre

3

while() *;* ne fait pas ce que vous voulez, supprimez le point-virgule. À propos, tout compilateur java décent vous avertit à ce sujet, avez-vous lu ce qu'il vous a dit?

3
while (a == false) ; 

C'est une boucle infinie juste là. Retirer le ; pour les débutants

+0

eikö uni maistu :) –

+0

... ei oikein maistu ei –

+1

Même problème sur la deuxième instruction 'while' aussi. –

Questions connexes