MyException - 我的异常网
当前位置:我的异常网» J2SE » 比较头疼的数组+循环+条件判断的有关问题

比较头疼的数组+循环+条件判断的有关问题(2)

www.MyException.Cn  网友分享于:2013-12-22  浏览:10次


所以如果输入damo2、damo3、damo4、damo5,虽然是对的,但是肯定还会报错

求解答。



------解决方案--------------------
...你这个成功之后都没有终止循环。。。他当然会出现报错啦。。。

Java code

 for(int i=0;i<abc.getEntryArr().length;i++)    
        {
            if((!abc.getEntryArr()[i].getUserName().equals(name))&&(!abc.getEntryArr()[i].getUserPwd().equals(password)))
            {
                System.out.println("用户不存在或密码错误!");
            }
            else
            {
            System.out.println("该用户的真实姓名为"+abc.getEntryArr()[i].getRealName());
            [color=#FF0000]break;[/color]
            }
        }

------解决方案--------------------
当然啦,你这样的判断,无论你输入什么, System.out.println("用户不存在或密码错误!");这行代码都会被执行。有几个用户就要循环几次,如果已经判断信息正确了,循环还要继续吗?lz 你思考思考.....


 
------解决方案--------------------
探讨

对。我想要的是。把0到4比较完了,如果没有匹配的,再输出
引用:
for(int i=0;i<abc.getEntryArr().length;i++)

你的循环是从0开始的,那当然是先与entryArr[0]比较,然后才是entryArr[1]/[2]/[3]/[4] ,不然的话你想做成怎样的效果。。

------解决方案--------------------
Java code

package User;
import java.util.Scanner;

public class UserManager {
    public static void main(String[] args) {
        DbStore abc = new DbStore();

        Scanner input = new Scanner(System.in);
        System.out.println("请输入用户名:");
        String name = input.next();
        System.out.println("请输入密码:");
        String password = input.next();
        boolean isExist = false;
        for (int i = 0; i < abc.getEntryArr().length; i++) {
            if (abc.getEntryArr()[i].getUserName().equals(name) && abc.getEntryArr()[i].getUserPwd().equals(password)) {
                System.out.println("该用户的真实姓名为" + abc.getEntryArr()[i].getRealName());
                isExist = true;
                break;
            }
        }
        if (!isExist) {
            System.out.println("用户不存在或密码错误!");
        }
    }
}

------解决方案--------------------
竟然连变量名都一样。。。

探讨
引用:

对。我想要的是。把0到4比较完了,如果没有匹配的,再输出
引用:
for(int i=0;i<abc.getEntryArr().length;i++)

你的循环是从0开始的,那当然是先与entryArr[0]比较,然后才是entryArr[1]/[2]/[3]/[4] ,不然的话你想做成怎样的效果。。
……

------解决方案--------------------
switch只支持byte、short、int、char这几种类型参数,其余类型不给予支持。
------解决方案--------------------
探讨
Java code

package User;
import java.util.Scanner;

public class UserManager {
public static void main(String[] args) {
DbStore abc = new DbStore();

Scanner input = new S……

------解决方案--------------------
探讨

竟然连变量名都一样。。。

引用:
引用:

对。我想要的是。把0到4比较完了,如果没有匹配的,再输出
引用:
for(int i=0;i<abc.getEntryArr().length;i++)

你的循环是从0开始的,那当然是先与entryArr[0]比较,然后才是ent……

------解决方案--------------------
数组+循环+条件不头疼,关键看是什么问题:这个就和八楼的一样,你设置标志变量不就搞定了吗

文章评论

软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有