私はJava
に新しく、この問題を解決するために私の頭を叩いてしまいました。とにかくPersonを作成するクラスは、ArrayList
というPersonタイプを使用してPhonebook
を作成するクラスです。私はリストからPerson
を取り除くためにremove関数を書いていますが、私の問題はIndexof関数を使うことができない人の名前しか取得できないためです。ポジションは名前になります。オブジェクトの変数を知らないうちにarraylistからオブジェクトを検索して削除する
ArrayList
を使用してオブジェクトを保存したことが初めてです。 結果がどのように表示されるかわかりません。私は名前の位置が(私のリストの中で)10であれば11が電話になり、12がアドレスになると推測しています。私は正しいですか?
public class Person
{
private String name;
private String phone;
private String address;
public Person (String n, String p, String a)
{
this.name = n;
this.phone = p;
this.address = a;
}
public void setPhone(String newPhone)
{
this.phone = newPhone;
}
public String getName()
{
return this.name;
}
public String getPhone()
{
return this.phone;
}
public String getAddress()
{
return this.address;
}
public String print()
{
return "Name is : " + this.name + "\nPhone is : " + this.phone + "\nAddress is : " + this.address;
}
}
import java.util.*;
public class phoneBook
{
Scanner in = new Scanner (System.in);
private ArrayList <Person> persons = new ArrayList <Person>();
private int i;
private boolean flag;
public void addPerson(Person p)
{
persons.add(p);
}
public void listPersons()
{
System.out.println(persons);
}
public void lookUp (String theName)
{
flag = persons.contains(theName);
if (flag == true)
{
System.out.println("That name exists!");
}
else
{
System.out.println("That name does not exist!");
}
}
public void remove (String theName)
{
}
編集:私は別の関数でスキャナを使用することを計画しています。ご心配なく。
だから、彼の電話と彼のアドレスを意味し、オブジェクトのすべての要素を削除しますaswellを削除されます。 – Discordgr
あなたがarrayListとpersonの名前を渡した場合、すべての属性を持つObjectが削除されます。もしphoneNumberで削除したいのであれば、この番号をnameの代わりに渡してcurrentPeroson.getName()をcurrentPerson.getPhoneNumberに変更してください。 () –
ええ、ありがとうございました。 – Discordgr