2010-10-10 2 views
-1

Я не новичок в 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); 

    } 
} 
+0

Удалите кавычки 'System.in'. –

ответ

11

Возможно изменить

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

в

Scanner scanner = new Scanner(System.in); 
+0

Мне нравится этот! – willcodejavaforfood

+0

О, такая простая ошибка. ты прав – user69514

Смежные вопросы