当前位置: 首页 > 知识库问答 >
问题:

为什么我的程序抛出java.util.InputMisMatchException?

支阳波
2023-03-14

我的代码出现错误:

我的示例的完整代码如下:

import java.util.Scanner;
import java.util.*;

public class Hello {

    public static void main(String[] args) 
    {
        Scanner sc = new Scanner(System.in);
        int  n = sc.nextInt();
        String[] friends = new String[n];
        HashMap<String, Integer> map = new HashMap<String, Integer>();
        for(int i = 0; i < n; i++)
        {
            friends[i] = sc.next();
            map.put(friends[i], i);
        }
        int[] money = new int[n];
        for(int i = 0; i < n; i++)
        {
            int idx = map.get(sc.next());
            int gift = sc.nextInt();
            int M = sc.nextInt();
            int reminder =gift % M;
            int dev = gift / M;
            money[idx] = reminder;
            money[idx] -= gift;
        }
    }
}

共有1个答案

燕玉堂
2023-03-14

您没有提供足够的输入。循环:

for(int i=0;i<n;i++)
    {
        int idx = map.get(sc.next());
        int gift = sc.nextInt();
        int M = sc.nextInt();
        int reminder =gift%M;
        int dev = gift/M;
        money[idx]=reminder;
        money[idx]-=gift;

    } 

将运行3次,根据您的输入,在每次运行中,它将期望一个字符串和两个整数。您只提供了一次输入。

 类似资料:
  • 我试图在Java中将扫描字符串转换为JSONObject,并从JSON Simple导入JSON模块。我已经在构建路径中添加了JSON-simple-1.1.1.jar。然而,当我试图传递内联字符串时。我的内联字符串如下:{“events”:[{“url”:“/操纵多云国家”,“visitorId”:“03c0b5e0-3eeb-382a-8c6d-35e4bb189cf6”,“timestamp

  • 问题内容: 我正在使用iReport构建jaspersoft报告,并且正在使用Fishbowl作为我的DBMS。 我建立了表,并在iReport中显示了我的表是关系型的,但是由于某种原因,它使我出错并且无法运行。它应该非常简单。我要输入邮政编码,日期范围或州名,并输出productName,已实现的总数量,邮政编码和州名的缩写。 当我确实将报告上载到Fishbowl时,它可以运行,但最终崩溃并显示

  • 我在Heroku上托管了这个java discordbot,升级到最新版本的JDA后,我不得不将更改为。当从intellij运行我的机器人时,它可以毫无问题地工作,但从Heroku执行它时,它会给我“java.lang.NoSuchmetodError:'net.dv8tion.jda.api.entities.AudioChannelnet.dv8tion.jda.api.entities.Gu

  • 下面是我的代码: 现在我的脑海中应该不会出现不匹配,因为显然提取了两个整数?!

  • 我正尝试在出现连接错误时添加一个控件。我的目的是通过捕捉异常来阻止程序抛出异常。 但它会在控制台中打印: 抱歉,如果我打印了太多的StackTrace... 我想知道,如果我不打印出stacktrace,我如何使异常消失?谢谢:)

  • 问题内容: final Multimap terms = getTerms(bq); for (Term t : terms.keySet()) { Collection C = new HashSet(terms.get(t)); if (!C.isEmpty()) { for (Iterator it = C.iterator(); it.hasNext();) { BooleanClause