我只是想做一個簡單的「電話簿」應用程序,但我做錯了什麼。但是idk是什麼。我在做什麼錯了?
這是我的第一課,
import java.util.Scanner;
public class PhoneBookEntryDemo
{
public static void main(String[] args){
int k=0,contacts=0;
String position;
Scanner KB = new Scanner(System.in);
System.out.println("This is a automatic phonebook. the first of its kind.");
System.out.println("How many contacts do you want to enter today?");
contacts = KB.nextInt();
PhoneBookEntry[] Test = new PhoneBookEntry[contacts];
do{
switch (k) { //this is for formatting the out put
case 0: position="st";
break;
case 1: position="nd";
break;
case 2: position="rd";
break;
default: position="th";
break;
}
System.out.println("Please enter the name "+ (k+1)+position+" of the contact: ");
Test[k].getName(KB.next()); //sets the name of what ever the counter is @
System.out.println("Now enter the phone number: ");
Test[k].getPhoneNumber(KB.nextInt()); //sets the phone number at whatever the counter is @
k++;
}while(k<contacts);
}
}
這是我第二類,
public class PhoneBookEntry
{
String name;
int phoneNumber;
public PhoneBookEntry(String aName, int aPhoneNumber){
name = aName;
phoneNumber = aPhoneNumber;
}
public void getName(String setName){
name = setName;
}
public void getPhoneNumber(int setPhoneNumber){
phoneNumber = setPhoneNumber;
}
}
它符合,但它拋出一個運行時錯誤。
java.lang.NullPointerException at PhoneBookEntryDemo.main(PhoneBookEntryDemo.java:31)
我知道它我的方法調用,但我想不出什麼我做錯了,我嘗試了幾種不同的迭代,但仍然沒有骰子。
哪條線是31號線? – 2012-04-19 04:23:27