你好StackOverflow的人,在Java中访问部分数组?
我有我的当前代码的问题。当我试图查看数组是否包含某个搜索值时,我总是收到一个空指针异常。这是我现在的代码,这里是我必须完成它的标准。这是我在这里的第一篇文章,所以所有有益的批评都被接受。
准则: 创建一个程序,让用户在地址簿中输入信息,然后在地址簿中搜索名称。您必须将以下内容存储在地址簿中: 名称 电话号码 电子邮件地址 该程序将允许用户在地址簿中输入尽可能多的人员,最多可输入100个。用户将输入一个空的姓名表明他们已经输入了姓名。之后,用户将输入部分名称来搜索地址簿中的人员。为了充分的信任,这个搜索应该找到部分名字(见例子截图)。您的程序不需要区分大小写(即区分大小写)。您的程序应显示符合搜索条件的所有地址簿条目的所有信息。结果应该是图表格式(例如参见屏幕截图)。 如果用户输入空白名称来搜索该程序应结束。 您必须使用三个平行的一维数组。您必须使用全局变量到地址簿条目的最大数量设置为100。
package assignments;
import global.Cod;
public class Homework_08
{
public static final int MAXIMUM_ENTRIES = 100;
public static void main(String[] args)
{
String name[] = new String[MAXIMUM_ENTRIES];
String phoneNumber[] = new String[MAXIMUM_ENTRIES];
String email[] = new String[MAXIMUM_ENTRIES];
String searchValue;
int index = 0;
boolean match = false;
if (!name.equals(MAXIMUM_ENTRIES))
{
for (index = 0; index < MAXIMUM_ENTRIES; index++) {
System.out.print("Enter name (Or <ENTER> if done): ");
name[index] = Cod.next();
if (!name[index].equals("")) {
System.out.print("Enter phone number: ");
phoneNumber[index] = Cod.next();
System.out.print("Enter email address: ");
email[index] = Cod.next();
}
else if (name[index].equals(""))
{
System.out.print("Enter search value: ");
searchValue = Cod.next();
while (!match && index < MAXIMUM_ENTRIES)
{
if (name[index].contains(searchValue)) {
match = true;
}
else
{
index++;
}
}
System.out.println("Name Phone Email");
System.out.println("---- ----- -----");
if (match)
{
System.out.println(name[index] + phoneNumber[index] + email[index]);
}
else
{
System.out.println(" ");
}
}
}
}
} //main()
} //class
鳕鱼import语句是为我做扫描仪非常简单的方法。它们以相同的方式工作,其中next()只是要求下一个字符串,而其他所有可能性都是不言自明的。
谢谢。