【发布时间】:2016-01-10 12:19:10
【问题描述】:
我是编程新手。我很难理解这段代码:
public static boolean onCampus(String name)
{
boolean invalidResponse = true;
do{
System.out.println("Is "+name+ " living on campus? (yes/no)");
String response = in.nextLine();
if(response.equalsIgnoreCase("yes"))
return true;
else if (response.equalsIgnoreCase("no"))
return false;
else
System.out.println("Invalid response.");
} while(invalidResponse);
return false;
}
如果用户输入可接受的响应,我不知道invalidResponse 在哪里分配false?最后一个return false; 是什么?为什么在do-while语句之后?
【问题讨论】:
-
最后一个
return false;是无法访问的代码。编译器不知道invalidResponse永远不会更新,但如果您将其更改为do { ... } while (true);您会从最后一个 return 语句中得到一个编译错误。
标签: java loops return do-while