java在执行命令之前需要运行两次

时间:2015-11-03 19:56:29

标签: java eclipse

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

1 个答案:

答案 0 :(得分:1)

您需要删除课程顶部的y()调用。那里没有必要。

L/C

此外,在你的y()中,if子句是多余的。您只需返回input2 == b。这将根据计算返回true或false。