Я недавно набрал эту программу Java, чтобы принять десять областей и их пин-коды, а затем выполнить поиск, чтобы найти конкретную область и распечатать ее пин-код. Вот код из программы:Ошибка Java «Исключение в потоке» main «java.util.InputMismatchException» В программе Array
import java.util.Scanner;
public class Sal {
public static void main (String args []){
Scanner s=new Scanner(System.in);
System.out.println("Enter 10 areas and their pincodes");
String area[]=new String [10];
int pincode[]=new int [10];
String search;
int chk=0;
int p=0;
for (int i=0;i<=9;i++){
area[i]=s.nextLine();
pincode[i]=s.nextInt();
}
System.out.println("Enter Search");
search=s.nextLine();
for (int j=0;j<=9;j++){
if(search==area[j]){
chk=1;
j=p;
break;
}
}
if(chk==1){
System.out.println("Search Found "+"Pincode : "+pincode[p]);
} else {
System.out.println("Search not Found");
}
}
}
И после ввода двух областей я получаю эту ошибку:
Exception in thread "main" java.util.InputMismatchException
at java.util.Scanner.throwFor(Unknown Source)
at java.util.Scanner.next(Unknown Source)
at java.util.Scanner.nextInt(Unknown Source)
at java.util.Scanner.nextInt(Unknown Source)
at Sal.main(Sal.java:14)
Может кто-то пожалуйста, скажите мне, что я делаю неправильно! :/ Любая помощь приветствуется.
Я лично являюсь поклонником' Integer.parseInt (s.nextLine()) 'вместо использования' s.nextInt() 'и' s.nextLine() 'последовательно, но я полагаю, что я видел последнее чаще. –