アドレス帳を作成する課題があります。使い勝手の良さに基づいてプログラムを作成しました。たとえば、新しいエントリを作成する場合、有効なエントリが与えられるかキャンセルするまで、ユーザーは次の入力に進むことができません。プログラムを作成した後、家庭教師が提供した大学の例を読んでいました。エントリが追加される前に有効な入力をチェックする代わりに、.add 要求を送信し、不良データが検出された場合は例外を発生させます。
私は自分のデザインの方が優れていると思いますが、彼らのやり方をしなかったので点数を失いたくないので、このようにするべきかどうかを家庭教師に尋ねました。彼は、次の例に固執する必要があると言いました。
public AddressBook()
{
entries = new ArrayList < Entry >();
}
public void addPerson(Entry addPerson)
{
entries.add(addPerson);
}
private void addCommand()
{
System.out.print("Enter Full Name : ");
String name = myScanner.nextLine();
System.out.print("Enter House No and Street name: ");
String street = myScanner.nextLine();
System.out.print("Enter Town: ");
String town = myScanner.nextLine();
System.out.print("Enter Postcode: ");
String postcode = myScanner.nextLine();
postcode = postcode.toUpperCase();
addressBook.addPerson(new Entry(name, street, town, postcode));
}
public Entry(String strName, String strStreet, String strTown, String strPostcode)
{
name = strName;
street = strStreet;
town = strTown;
postcode = strPostcode;
try
{
checkDetails();
}
catch ( BadDataException e)
{
throw new RuntimeException( e.getMessage()); }
}
私はこの方法で試してみて、次のように変更しました:
throw new RuntimeException(e.getMessage());
読む行
System.out.println( e.getMessage());
プログラムを終了しないように、この方法で既にエントリが追加されているため、適切なエラーを与えた後、追加されたエントリを削除する必要があります。これどうやってするの?それはある種のインデックスを持っていますか?なぜ家庭教師があなたにこのようにしてほしいのかわかりませんか、それとも私は要点を逃していますか?