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

为什么我的程序抛出java.util.InputMismatchException?,java,java.util.scanner,Java,Java.util.scanner,我的代码中出现错误: 线程“main”java.util.InputMismatchException中出现异常 位于java.util.Scanner.throwFor(Scanner.java:909) 在java.util.Scanner.next(Scanner.java:1530) 在java.util.Scanner.nextInt(Scanner.java:2160) 在java.util.Scanner.nextInt(Scanner.java:2119) 在Hello.main

我的代码中出现错误:

线程“main”java.util.InputMismatchException中出现异常
位于java.util.Scanner.throwFor(Scanner.java:909)
在java.util.Scanner.next(Scanner.java:1530)
在java.util.Scanner.nextInt(Scanner.java:2160)
在java.util.Scanner.nextInt(Scanner.java:2119)
在Hello.main(Hello.java:22)

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

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;
        }
    }
}
import java.util.Scanner;
导入java.util.*;
公共课你好{
公共静态void main(字符串[]args)
{
扫描仪sc=新的扫描仪(System.in);
int n=sc.nextInt();
String[]friends=新字符串[n];
HashMap=newHashMap();
对于(int i=0;i
您没有提供足够的输入。循环:

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;

    } 
for(int i=0;i
import java.util.HashMap;
导入java.util.Scanner;
公共类测试程序{
公共静态void main(字符串[]args){
//TODO自动生成的方法存根
System.out.println(“输入您想要输入的朋友数:”);
扫描仪sc=新的扫描仪(System.in);
int n=sc.nextInt();
整数[]货币=新整数[n];
HashMap=newHashMap();

对于(int i=0;i您提供了什么输入?3 abdul karim hakim abdul 200 2 karim hakim程序未执行,对您的代码进行了更改,我没有理解您试图执行的操作。谢谢,我找到了problem@jisan_bd问题是您对字符串和整数都使用了相同的用户输入。对于您的建议,我发现了p问题。
import java.util.HashMap;
import java.util.Scanner;


public class TestProgram {

    public static void main(String[] args) {
        // TODO Auto-generated method stub

        System.out.println("Enter a number of friends you want to enter:");
        Scanner sc = new Scanner(System.in);
        int  n = sc.nextInt();   
        int []money=new int[n];
        HashMap<String, Integer> map = new HashMap<String, Integer>();
        for(int i=0;i<n;i++)
        {
            System.out.println("Enter a name of ther friends you want to enter:");
            String name =sc.next();
            map.put(name, i);
            System.out.println("Enter the number of gifts you want to give:");
            int gift = sc.nextInt();
            System.out.println("Enter the money  you want to spend on the gift:");
            int M = sc.nextInt();
            int reminder =gift%M;
            int dev = gift/M;
            money[i]=reminder;   
        }
    }

}