Java扫描器-为什么会出现此错误?

Java扫描器-为什么会出现此错误?,java,java.util.scanner,Java,Java.util.scanner,我对java并不陌生,但我不明白为什么会出现这种扫描错误。代码编译得很好,但我得到以下运行时错误 在线程main java.util.InputMismatchException中输入项目编号:Exception 位于java.util.Scanner.throwForScanner.java:840 位于java.util.Scanner.nextScanner.java:1461 位于java.util.Scanner.nextIntScanner.java:2091 位于java.util

我对java并不陌生,但我不明白为什么会出现这种扫描错误。代码编译得很好,但我得到以下运行时错误

在线程main java.util.InputMismatchException中输入项目编号:Exception 位于java.util.Scanner.throwForScanner.java:840 位于java.util.Scanner.nextScanner.java:1461 位于java.util.Scanner.nextIntScanner.java:2091 位于java.util.Scanner.nextIntScanner.java:2050 在TestInvoice.getValuesTestInvoice.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);

    }
}
也许改变

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

删除System.in周围的引号。
Scanner scanner = new Scanner(System.in);