- 已关闭**。此问题需要details or clarity。当前不接受答案。
- 想要改进此问题?**添加详细信息并通过editing this post阐明问题。
十小时前关门了。
Improve this question
我是Java新手,我正在尝试做一个密码/pin系统,如果不正确,while会循环回扫描仪,如果输入正确,我会说"欢迎",但是它不起作用,我不知道如何修复它。
while (pass != newentry) {
if (pass == newentry) {
System.out.println("welcome");
break;
}
System.out.println("try again");
type.nextInt();
}
我还尝试使用do-while循环
System.out.println("Input pin to access files");
int newentry= type.nextInt();
do {
System.out.println("Wrong. Try again");
type.nextInt();
} while (newentry != pass );
3条答案
按热度按时间b5buobof1#
从你的代码中看不出你尝试了什么。下次请提供完整的示例。
要比较字符串,请使用
.equals()
方法这里我试着给予你一个函数式的小例子:
w46czmvw2#
由于
while(pass!=newentry)
为true才能进入循环,因此if(pass==newentry)
必须为false(IDE实际上应该提示您这一点)。重新考虑您的条件。9rnv2umw3#
问题是if语句在while循环中,而你直到循环结束才让用户写,因此即使用户给出了有效的密码,它也不能进入if语句。
这段代码应该可以完成您所要求的任务:
BufferedReader是获取用户输入所必需的。