Я получаю эту ошибку в действительно простом коде и не могу ее понять.
Также, пожалуйста, предложите, как лучше всего читать две последовательные строки, как в этом случае.Я сталкиваюсь с InputMismatchException и думаю, что это может быть причиной.
странно, что код также не может принять целое число.Я получаю исключение при чтении целого числа.
Я не уверен, когда следует использовать Scanner.next () и Scanner.nextLine ().
import java.util.Scanner;
class Customer
{
private int id;
private String name;
private String city;
private double salary;
Customer(){}
Customer(int id, String name, String city, double salary)
{
this.id=id;
this.name=name;
this.city=city;
this.salary=salary;
}
public int getId(){
return id;
}
public String getName(){
return name;
}
public String getCity(){
return city;
}
public double getSalary(){
return salary;
}
public void setId(int id){
this.id=id;
}
public void setName(String name){
this.name=name;
}
public void setCity(String city){
this.city=city;
}
public void setSalary(double salary){
this.salary=salary;
}
}
public class Solution{
public static void main(String []args){
Scanner in = new Scanner(System.in);
Customer c = new Customer();
int id = in.nextInt();
String name = in.next();
String city = in.next();
double sal = in.nextDouble();
c.setId(id);
c.setName(name);
c.setCity(city);
c.setSalary(sal);
System.out.println(c.getId() + " " + c.getName() + " " + c.getCity() + " " + c.getSalary());
}
}
Ввод
1
ABC
MH
2000.25
Трассировка стека
Exception in thread "main" java.util.NoSuchElementException
at java.util.Scanner.throwFor(Scanner.java:862)
at java.util.Scanner.next(Scanner.java:1485)
at java.util.Scanner.nextInt(Scanner.java:2117)
at java.util.Scanner.nextInt(Scanner.java:2076)
at Solution.main(Solution.java:61)