Я не новичок в java, но я не могу понять, почему я получаю эту ошибку сканера. Код компилируется нормально, но я получаю следующее сообщение об ошибке выполненияJava Scanner - почему я получаю эту ошибку?
Введите номер пункта: Исключение в потоке «главный» java.util.InputMismatchException в java.util.Scanner.throwFor (Scanner.java:840) на Java .util.Scanner.next (Scanner.java:1461) на java.util.Scanner.nextInt (Scanner.java:2091) на java.util.Scanner.nextInt (Scanner.java:2050) на 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);
}
}
Удалите кавычки 'System.in'. –