【发布时间】:2015-09-13 09:42:08
【问题描述】:
您好,我试图创建一个模拟数据库搜索,尽管它有效,但每当我输入不属于数据库的输入时,它会在线程“main”java.lang.ArrayIndexOutOfBoundsException: 4 on line 中创建一个异常23. 我不知道还能做什么,因为我没有看到代码中有错误。
import java.util.*;
public class Database {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner scan = new Scanner(System.in);
String[] names = new String[4];
boolean found = false;
int i = 0;
names[0] = "Thor";
names[1] = "Ben";
names[2] = "Zoe";
names[3] = "Kate";
System.out.println("Enter Player Name");
String input = scan.nextLine();
while(found != true){
if(input.equals(names[i])){
System.out.println(input + " has been found");
found = true;
} else {
i = i+1;
}
if(i == 3 && found == false){
System.out.println(input + " was not found");
}
}
}
}
【问题讨论】:
-
顺便说一句,您可以使用
i++(而不是i = i + 1)和!found(而不是found == false);
标签: java string while-loop int