你好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()只是要求下一個字符串,而其他所有可能性都是不言自明的。
謝謝。