坂凛的板栗 2021-05-19 17:30 采纳率: 0%
浏览 37

关于Scanner的问题

public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        System.out.println("Please give the number of banks and the limit");
        int N=sc.nextInt();
        int limit=sc.nextInt();
        double[][] borrowers=new double[N][N];
        for (int i = 0; i < N; i++) {
            for (int j = 0; j < N; j++) {
                borrowers[i][j]=0;
            }
        }
        float[] Sum=new float[N];
        for (int i = 0; i < N; i++) {
            borrowers[i][i]=sc.nextDouble();
            for (int j = 0; j < sc.nextInt(); j++) {
                Sum[i] += (borrowers[i][sc.nextInt()]=sc.nextDouble());
                System.out.println(Sum[i]);
            }
        }
    }

输入的是

5 201
25 2 1 100.5 4 320.5

然后结果显示

Exception in thread "main" java.util.InputMismatchException
    at java.base/java.util.Scanner.throwFor(Scanner.java:939)
    at java.base/java.util.Scanner.next(Scanner.java:1594)
    at java.base/java.util.Scanner.nextInt(Scanner.java:2258)
    at java.base/java.util.Scanner.nextInt(Scanner.java:2212)
    at Exercise8.C8p17.main(C8p17.java:22)

各位能讲一下是哪里出了问题吗?

  • 写回答

3条回答 默认 最新

  • 柠檬blessing 2021-05-19 19:38
    关注

    最后一个嵌套循环写错了吧,你如果要取出来用,就声明一个变量等于sc.nextInt或者nextDouble,不然每次nextInt或者nextDouble都会从输入重新读取一个数字,整个逻辑很乱

    评论

报告相同问题?

悬赏问题

  • ¥15 为什么树莓派5b显示禁止连接
  • ¥15 请专家处理报错!基于深度学习的车型分类问题:数据集为包含 10 种车型的图像数据集,分为训练集、验证集和测试集。
  • ¥20 流量太费!寻找便宜的app音视频SDK或平替方案。
  • ¥15 kubeasz部署遇到问题
  • ¥15 GUIDE to App Designer Migration Tool for MATLAB
  • ¥50 第三代非支配排序遗传算法(NSGA-Ⅲ)和多目标粒子群优化算法(MOPSO)的实现
  • ¥20 plant simulation与python com接口实时数据交互
  • ¥15 有关汽车的MC9S12XS128单片机实验
  • ¥15 求c语言动态链表相关课程有偿,或能将这块知识点讲明白
  • ¥15 FLKT界面刷新异常