JAVA编程题目入门,求大神高手帮忙看看!

题目:输入密码5次,要求限制输错5次,并且没输错一次提示剩余还有几次,5次全输错系统自动退出,输入正确进入欢迎。
我的代码:
import java.util.Scanner;
public class lianxi1{
public static void main(String[] args){

Scanner input=new Scanner(System.in);

String pwd="";

int count=5;

do{
System.out.println("请输入密码");

pwd=input.next();

if(!pwd.equals("1234")){

count--;

if(count==0){

System.out.println("错误5次,系统自动退出");

return;

System.out.println("输入错误,请重新输入");

}else{
System.out.println("欢迎");
}
}

}while(true)
}

}
求大神看看有没有错,我一输入密码错的也把欢迎打印出来,而且还不能循环?是哪里错了?

第1个回答  2015-05-13
你这里while条件写true??那就不是用count在控制了。
当然,这个也没有多大影响,反正中间有return返回程序。
你的问题在于:
你外层的if下面没有else
你else里面的欢迎是在里面的那个if下面的,当count不为0的时候,就会输出欢迎。
这就是你程序逻辑的问题。追问

我是按照老师写的代码抄写下来的,老师电脑上演示过能运行,可我照抄下来的就不行,我应该改哪里?

第2个回答  2015-05-13
import java.util.Scanner;

public class Test {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int count = 5;
while(true){
System.out.println("请输入密码: ");
String pwd = sc.nextLine();
if(pwd.equals("1234")){
System.out.println("欢迎进入系统");
}else {
System.out.println("输入密码错误,还有" + (count - 1) + "次机会.");
count--;
}
if(count == 0){
System.out.println("5次机会用完,结束.");
break;
}
}
}
}

本回答被提问者采纳
相似回答