import java.util.Scanner;
public class Main {
public static void main(String[] args){
method();
y();
boolean x = true;
if(x == y()){
System.out.println("You're right!");
}else{
System.out.println("You're wrong!");
main(args);
}
}
public static void method(){
System.out.println("a+b=5 If a=2 what does b equal?");
}
public static boolean y(){
try{
Scanner s = new Scanner(System.in);
String input = s.nextLine();
int input2 = Integer.parseInt(input);
int b = 3;
if(input2 == b) {
return true;
}else{
return false;
}
}
catch( Exception e ) {
return false;
}
}
}
所以,我在eclipse中运行它,我需要两次输入3(正确的答案,你应该打印出来)两次才能工作。 我正在尝试做的是提出一个问题,并说如果错误答案你就错了,但继续写输入,并说如果正确回答你就是对的并停在那里。
a+b=5 If a=2 what does b equal? // first output
3 // my input + enter, nothing happens
3 // i enter the input again
You're right! // it only works the second time
答案 0 :(得分:1)
您需要删除课程顶部的y()调用。那里没有必要。
L/C
此外,在你的y()中,if子句是多余的。您只需返回input2 == b。这将根据计算返回true或false。