坂凛的板栗 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 chemex:docker安装chemex过程中遇到问题
  • ¥15 关于遇到一个python,django,redis,uwsgi,nginx搭的一个企业微信修改AD密码的平台的问题!
  • ¥15 读取parquet文件某一列的数据但是输出是整个列名和格式
  • ¥15 机动目标 制导律建模问题
  • ¥100 求Java socks 转发实现Demo
  • ¥20 随身WiFi移动网络访问不了
  • ¥50 RAD_XE11.3获取android11手机的IMEI码
  • ¥15 linux的gcc命令报错
  • ¥20 如何再GIS用海岸线建立缓冲区
  • ¥15 codeblock遇到问题了,求帮助😭