为什么会报错,哪里错了,请教大神

package day01;

import java.util.Scanner;

public class Demo11 {

public static void main(String[] args) {
    int[] i0 = new int[10];
    String[] i9 = new String[10];
    Scanner in = new Scanner(System.in);
    while (true) {
        System.out.println("请选择\n1.登录\n2.注册\n3.忘记密码?密码找回\n4.退出系统");
        int i1 = in.nextInt();
        if (i1 == 1) {
            A: for (int j = 0; j < i0.length; j++) {
                System.out.println("请输入帐号:");
                int i2 = in.nextInt();
                for (int i = 0; i < i0.length; i++) {
                    if (i0[i] != i2) {
                        System.out.println("此帐号未被注册,请您注册后使用" + (i + 1));
                        continue A;
                    } else {
                        System.out.println("帐号正确");
                    }

                }
            }

            System.out.println("请输入密码:");
            String s1 = in.next();
            for (int i = 0; i < i9.length; i++) {
                if (i9[i] == s1) {
                    System.out.println("密码正确");
                } else {
                    System.out.println("密码错误,请输入正确的密码,或注册");
                }
            }
            System.out.println("登录成功");

        } else if (i1 == 2) {
            System.out.println("请输入您要注册的帐号:");
            int i2 = in.nextInt();
            for (int i = 0; i < i0.length; i++) {
                if (i0[i] == 0) {
                    i0[i] = i2;
                }
            }
            System.out.println("请输入您的密码:");
            String s1 = in.next();
            for (int i = 0; i < i9.length; i++) {
                if (i9[i] == null) {
                    i9[i] = s1;
                }
            }
        } else if (i1 == 3) {
            System.out.println("暂无此功能,后续将会添加,sorry");
        } else if (i1 == 4) {
            Scanner in1 = new Scanner(System.in);
            System.out.println("!提示:由于作者并未学习数据库,所以退出后您的所有信息都不会被保存,请您慎重考虑:退出请按“5”,随意数字回车之后取消本次操作");
            int i2 = in1.nextInt();
            if (i2 == 5) {
                break;
            }
        }

    }
    System.out.println("已退出,欢迎下次使用");

}

}

Exception in thread "main" java.util.InputMismatchException
at java.util.Scanner.throwFor(Scanner.java:909)
at java.util.Scanner.next(Scanner.java:1530)
at java.util.Scanner.nextInt(Scanner.java:2160)
at java.util.Scanner.nextInt(Scanner.java:2119)
at day01.Demo11.main(Demo11.java:17)

        为什么会报错,哪里错了,请教大神

3个回答

使用scanner时出现类型错误,应该是nextInt的问题

at day01.Demo11.main(Demo11.java:17)

这一行接收输入的有问题,接收数字一定要输入数字,不要输入其他的。

输入的参数类型错误问题

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问