Java - 如何让“再试一次(j / n)”工作

时间:2010-09-28 11:26:45

标签: java

package myProg;
import java.util.Scanner;
public class oving4a {

    /**
     *Øving 4a. Aleksander Pettersen
     */
    public static void main(String[] args) {
        Scanner scan = new Scanner (System.in);
        int i;  
        int count = 0; 
        String another = "y";
        double symbol =(1+Math.random()*100);
        int svar = (int) symbol;
        System.out.println("Tipp et tall:");
        i = scan.nextInt();
        while (another.equalsIgnoreCase("y")){
            while (i != svar){ 
                if (i < 1 | i > 100)
                    System.out.println("Vennligst velg et tall mellom 1 - 100");
                else
                {
                    count++;
                    if(i > svar)
                        System.out.println("Beklager! Mitt tall er mindre. Prøv igjen.");
                    else 
                        System.out.println("Beklager! Mitt tall er større. Prøv igjen.");
                    i = scan.nextInt();
                }
            }
        }
        System.out.println("Gratulerer! \n Du klarte det på " +count + " forsøk. Vil du prøve en gang til(j/n)?");
        another = scan.nextLine();
    }

}

如果我使用equalsIgnoreCase运行它,那么当我想出正确的问题时它就会冻结。 如何在这个程序中实现“再试一次(j / n)”?

1 个答案:

答案 0 :(得分:0)

你有这样的代码

String another = "y";
...
while (another.equalsIgnoreCase("y")) {
    ...
}
another = scan.nextLine();

只能将another设置为while循环之外的“y”以外的值。 while循环中没有任何内容可以将条件another.equalsIgnoreCase("y")更改为false