在while(true)if...elseif...else循环中 的问题..

在while(true)if...elseif...else循环中我想让某一语句在循环一定次数后自动终止

我想让红框中的语句循环三次后停止,但是3次是能停,但是会被蓝框中的语句代替,
while又是一个死的.要是拿到while外面的话 又不在if里面它就直接输出蓝框的语句,直接无视红框了.
在线等...求提示,,求灵感!!我只有17财富..倾我所有了...

使用do...while代替,多层循环嵌套不可取,太难读了

int i = 0;
do{
    String username = console.next();
    if(!username.equals(usm)){
        System.out.println("用户名错误!");
    }else{
        String userpwd = console.next();
        if(username.equals(usm) && !userpwd.equals(usp)){
            System.out.println("密码无效!剩余次数:" + (3 - ++i));
        }
    }
}while(i < 3)

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-09-14

首先,你的username和userpwd都是String类型的对象,比较是否相等应该用equals方法,不能用==或!=

还有从你的代码逻辑看,用户名正确密码错误的时候,会要求用户连续输入三次密码吧?

我觉得逻辑应该这样写:

int 密码错误次数 = 0;
if(用户名正确 and 密码正确)
{    ……
}
else
{
    if(用户名错误 and 密码正确) 
        提示用户输入用户名;
    else if(用户名正确 and 密码错误)
     {
        密码错误次数+1;
        提示用户输入密码;
    }
    else
    {
        提示用户重新输入用户名和密码;
    }
}
if(密码错误次数 == 3)
{
    break;
}

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