我最近输入了这个java程序来接受十个区域及其pin码,然后搜索找到一个特定区域并打印出它的pin码.这是程序中的代码:
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");
}
}
}
Run Code Online (Sandbox Code Playgroud)
进入两个区域后,我得到了这个错误:
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)
Run Code Online (Sandbox Code Playgroud)
有人可以告诉我我做错了什么!:/任何帮助表示赞赏.
首先,请记住缩进代码以提高可读性.
概念1.
for (int i=0;i<=9;i++){
area[i]=s.next();// Use this for String Input
pincode[i]=s.nextInt();
s.nextLine();//Use this for going to next line of input
}
Run Code Online (Sandbox Code Playgroud)
概念2.
if(search.compareTo(area[j])==0){
Run Code Online (Sandbox Code Playgroud)
//使用compareTo方法比较字符串(如果相等则返回0)
其余的代码和概念都是正确的:)
| 归档时间: |
|
| 查看次数: |
47895 次 |
| 最近记录: |