1. ホーム
  2. java

[解決済み] javaでarraylistを使った電話帳を作る

2022-02-16 14:45:12

質問内容

javaでarraylistを使った電話帳の簡単な実装を試してみたいです。 まず、私は必要な情報を含むクラスを作成し、第二に、私は情報を取得し、それらを印刷するようなメソッドを持つ別のクラスを持ちたいと思います。

しかし、'print'メソッドはforループでエラーを出し続けています。

これは最初のクラスです。

public class PhoneBook {
long number;
String name;
.
.
.
.

getter() and setter();
}

メソッドを持つ2番目のクラスです。

public class PhoneBookMethods {

ArrayList<PhoneBook> phoneBooks = new ArrayList<PhoneBook>();

public void getInfo(PhoneBook phoneBooks)
{

.
.
.
}
public void print(PhoneBook phoneBooks)
{
    for (PhoneBook p: phoneBooks) {// this is where I got the error
//foreach not applicable to type 'PhoneBook'
        System.out.print(p.getName());
        ....
    }
}

}

解決方法は?

for-eachループの中で、以下のように変更します。

for (PhoneBook p: phoneBooks)

になります。

for (PhoneBook p: this.phoneBooks)

にアクセスすることになるので phoneBooks の引数ではなく、配列のリストです。 print メソッドを使用します。

EDITです。

を使用すると、" これ キーワードを使用すると、コードをより明示的にすることができます。 この例では、引数として phoneBooks と同じ名前の ArrayList (メンバ変数)を使用します。そこで、この2つを明示的に区別するために this.phonebooks を使用してメンバー変数にアクセスします。 phoneBooks (ArrayList)を作成し、その上で phoneBooks で引数を参照します。