Java - 在If语句中使用方法

时间:2015-10-19 02:18:35

标签: java

我试图写一个简单的代码来通过BufferedReader获取输入,然后在另一个方法中执行一些代码。

import java.io.*; 

public class main {
    public main() {

    }
    public static String input() {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String out;
        try {
            out = br.readLine();
            return out;
        } catch (IOException e) {       
            e.printStackTrace();
            return null;
        }
    }
    public static void someCode() {
        //some code
    }
    public static void main (String[] args) {
        input();
        if(input() == "Input") {
            someCode();
        }
    }
}

谢谢:)

2 个答案:

答案 0 :(得分:0)

将函数存储在如下变量中:

String x = input(); 
  if("Input".equals(x)) { 
    //do something
  }

另请注意我使用.equals而非==作为==如何比较内存中的地址而不是值。

答案 1 :(得分:0)

您正在调用该方法一次,将结果抛弃,然后再次调用它;第二次可能不会给你想要的结果。将输入保存在变量中:

String input = input();
if(input.equals("Input")) {
    ...
}

(您也错误地使用==代替.equals;请参阅上面的代码。)