Java 程序无法识别解决方案
我试图制作一个简单的java应用程序,在屏幕上输出两个数字,用户必须输入这两个数字的总和。当我输入总和时,如果正确,程序会询问我是否要继续。如果我说是,程序会输出两个新数字,当我输入正确答案时,程序不会识别出答案是正确的 如果我在程序开始时输入了错误的答案,我希望程序一次又一次地向用户询问解决方案,直到他输入正确的答案,但我不知道怎么做。这是我的密码:Java 程序无法识别解决方案,java,Java,我试图制作一个简单的java应用程序,在屏幕上输出两个数字,用户必须输入这两个数字的总和。当我输入总和时,如果正确,程序会询问我是否要继续。如果我说是,程序会输出两个新数字,当我输入正确答案时,程序不会识别出答案是正确的 如果我在程序开始时输入了错误的答案,我希望程序一次又一次地向用户询问解决方案,直到他输入正确的答案,但我不知道怎么做。这是我的密码: import java.util.Scanner; import java.security.SecureRandom; public cla
import java.util.Scanner;
import java.security.SecureRandom;
public class HelloWorld {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int result = getRandomNumbers();
int counter = 1;
char again;
while (counter == 1) {
int userResult = input.nextInt();
if (result == userResult) {
System.out.println("You are right");
} else {
System.out.println("You are wrong, try again");
}
System.out.println("Do you want to try again? Enter y for yes or n for no");
again = input.next().charAt(0);
if (again == 'y') getRandomNumbers();
else counter++;
}
}
public static int getRandomNumbers() {
SecureRandom randomNumbers = new SecureRandom();
int fnum = 1 + randomNumbers.nextInt(9);
int snum = 1 + randomNumbers.nextInt(9);
System.out.println("What is " + fnum + " times " + snum);
return fnum * snum;
}
}
如果输入不是预期的,可以使用while循环向用户请求新输入
试试这个:
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
while (true) {
int result = getRandomNumbers();
int userResult = input.nextInt();
while ( result != userResult) {
System.out.println("You are wrong, try again");
result = getRandomNumbers();
userResult = input.nextInt();
}
System.out.println("You are right");
System.out.println("Do you want to try again? Enter y for yes or n for no");
if (input.next().charAt(0) == 'n') {
break;
}
}
只有当用户说他不想继续时,它才会中断while-true循环。首先,请正确格式化代码,这样人类也可以看到程序结构。在你这么做之前,我个人不会看代码,但你可能会和其他人一起走运。或者不是。