我试图写一个简单的代码来通过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();
}
}
}
谢谢:)
答案 0 :(得分:0)
将函数存储在如下变量中:
String x = input();
if("Input".equals(x)) {
//do something
}
另请注意我使用.equals
而非==
作为==
如何比较内存中的地址而不是值。
答案 1 :(得分:0)
您正在调用该方法一次,将结果抛弃,然后再次调用它;第二次可能不会给你想要的结果。将输入保存在变量中:
String input = input();
if(input.equals("Input")) {
...
}
(您也错误地使用==
代替.equals
;请参阅上面的代码。)