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)”?
答案 0 :(得分:0)
你有这样的代码
String another = "y";
...
while (another.equalsIgnoreCase("y")) {
...
}
another = scan.nextLine();
只能将another
设置为while循环之外的“y”以外的值。 while循环中没有任何内容可以将条件another.equalsIgnoreCase("y")
更改为false
。