【发布时间】:2016-01-24 07:22:18
【问题描述】:
如果用户在程序结束时提示输入“y”或“Y”,我会尝试循环整个程序,但我收到“找不到符号 - 变量响应”错误由于我声明的变量在 do-while 循环内,因此我想我不能在 do-while 循环的条件下使用它。如果用户输入“y”或“Y”,有没有办法解决这个问题并且仍然能够循环通过程序?这都是在 main 方法中,而 getFileRunStats 是包含程序中所有其他方法的方法。
以下是相关代码:
public static void main(String[] args) throws IOException {
System.out.println("A program to analyze home field advantage in sports.");
System.out.println();
Scanner keyboard = new Scanner(System.in);
do{
getFileRunStats(keyboard);
System.out.println("Do you want to check another data set?");
System.out.print("Enter Y or y for to analyze another file, anything else to quit: ");
String response = keyboard.nextLine();
}while(response == "Y" || response == "y");
}
【问题讨论】:
-
您可以在
do之前声明String response。而且你不能用Java中的==比较字符串,它不起作用 -
我试过了,但即使用户出于某种原因输入“Y”或“y”,程序也会停止
-
您是否删除了
response = keyboard.nextLine();之前的“字符串”字样?如果不是,那么您只需重新声明您的 var,然后在一个 var 中设置值,然后检查另一个。 -
是的,我从 do-while 循环内的响应中删除了字符串。会不会是条件接受了顶部声明的未赋值变量“response”,甚至没有考虑用户输入的内容?
-
可能是==不能用来比较字符串
标签: java if-statement while-loop scope do-while