Java Scanner - why do I get this error? [closed]

烂漫一生 提交于 2019-12-02 22:37:13

问题


I'm not new to java, but I cannot figure out why I get this Scanner error. The code compiles fine, but I get the following runtime error

Enter item number: Exception in thread "main" java.util.InputMismatchException at java.util.Scanner.throwFor(Scanner.java:840) at java.util.Scanner.next(Scanner.java:1461) at java.util.Scanner.nextInt(Scanner.java:2091) at java.util.Scanner.nextInt(Scanner.java:2050) at TestInvoice.getValues(TestInvoice.java:3

import java.util.Scanner;


public class TestInvoice {


    public static void main(String [] args)
    {
        /* create objects */
        Invoice item1 = new Invoice();
        Invoice item2 = new Invoice();
        Invoice item3 = new Invoice();

        /* get values */
        getValues(item1);
        getValues(item2);
        getValues(item3);

        /* print objects */
        System.out.println(item1.toString() + "\n");
        System.out.println(item2.toString() + "\n");
        System.out.println(item3.toString() + "\n");


    }

    private static void getValues(Invoice invoice)
    {        
        int number;
        String name;
        int quantity;
        double price;

        /* get values from user */
        Scanner scanner = new Scanner("System.in");

        System.out.print("Enter item number: ");
        number = scanner.nextInt();

        System.out.print("Enter item name: ");
        name = scanner.next();

        System.out.print("Enter quantity: ");
        quantity = scanner.nextInt();

        System.out.print("Enter item price: ");
        price = scanner.nextDouble();

        System.out.println();

        /* set the values */
        invoice.setItemNumber(number);
        invoice.setItemName(name);
        invoice.setItemQuantity(quantity);
        invoice.setItemPrice(price);

    }
}

回答1:


Perhaps change

Scanner scanner = new Scanner("System.in");

to

Scanner scanner = new Scanner(System.in);


来源:https://stackoverflow.com/questions/3902233/java-scanner-why-do-i-get-this-error

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!