2010-04-01 3 views
0

вот метод:Почему этот метод не печатает текст? (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 ; 
} 

Когда я запускаю это он никогда отпечатки «Какую стратегию следует использование AI (#)?» Он просто пытается получить запись с клавиатуры. почему он это делает?

+0

Что такое getIns()? Это функция, которая вводится с клавиатуры? –

+0

printArrayS, что это? – Ben

ответ

3

while() *;* не делает то, что вы хотите, удалите точки с запятой.

Кстати, любой достойный компилятор java предупреждает вас об этом, вы читали, что он вам сказал?

3
while (a == false) ; 

Это бесконечный цикл прямо там. Удалить ; для стартеров

+0

eikö uni maistu :) –

+0

... ei oikein maistu ei –

+1

Такая же проблема и во втором высказывании 'while'. –

Смежные вопросы