要求用户输入用户名和密码,只要不是admin和111就提示用户名或密码不正确,请重新输入。正确时结束循环,提示登陆成功。
我刚看到这个题的时候,很快就想到了死循环,于是便用这种方法做了,但是,在执行的过程中发现最后的结果并不是预期的那样,不仅正确输入后不能显示登陆成功,而且,执行错误之后,重新输入正确的用户名和密码也不能正确执行。
在询问了同学之后,发现是没有使用.equal,后来用了之后解决了后面的问题,在用了死循环之后,并没有考虑到
System.out.println("请输入用户名:");
n=sc.next();
System.out.println("请输入密码:");
p=sc.next();
的放置位置,导致一直死循环,不会停止,后来修改代码如下
import java.util.Scanner;
public class Practice0103 {
public static void main(String[] args) {
// TODO Auto-generated method stub
String n;
String p;
Scanner sc=new Scanner(System.in);
for(;;){
System.out.println("请输入用户名:");
n=sc.next();
System.out.println("请输入密码:");
p=sc.next();
if(n.equals("admin")&&p.equals("111")){
System.out.println("登陆成功");
break;
}
else if(!n.equals("admin")||!p.equals("111")){
System.out.println("请重新输入");
}
}
}
}
这样,结果就正确了
1342

被折叠的 条评论
为什么被折叠?



