我只是想制作一个简单的“电话簿”应用程序,但我做错了。但我知道什么。
这是我的第一堂课
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)
我知道这是我的方法调用,但我不知道我做错了什么我尝试了几次不同的迭代,但仍然没有骰子。