Почему этот метод не печатает свой текст? (Джава) - PullRequest
0 голосов
/ 01 апреля 2010

вот метод:

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 ; 
} 

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

Ответы [ 2 ]

3 голосов
/ 01 апреля 2010
while (a == false) ;

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

3 голосов
/ 01 апреля 2010

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...