3

温度クラスのインスタンスを3つ作成する必要があります。3回入力することでこれを行うことができますが、それは良い方法ではないと確信しています。したがって、オンラインで検索してArrayListを見つけました。

ArrayListを使用して、ループ内にクラスのインスタンスを作成できるようにする方法がわかりません。ループ外でアクセスしたいと思います。

たとえば今私は持っています

Temperature t1 = new Temperature ();
t1.setDegrees(input.nextDouble());

上記のすべてをループして、3回入力する必要がないようにするにはどうすればよいですか。オンラインで例を検索しましたが、新しいインスタンスが作成されてArrayList内に格納されるのではなく、ArrayListにすでに格納されている値しか見つかりません。だから基本的にこれは私がやりたいことです

Temperature t1 = new Temperature ()
for ( 3 loops ) 
{

t1.setDegrees(user input) ;
ArrayList ( << this is the part i need help on. How do i store the temperature here so i can access it outside the scope of the for loop) 
}
4

6 に答える 6

2
List<Temperature> temperatures = new ArrayList<Temperature>();
for (int i = 0; i < 3; ++i) {
    Temperature t = new Temperature();
    t.setDegrees(user input) ;
    temperatures.add(t);
}
于 2012-11-12T22:41:04.297 に答える
1

ArrayList.add()メソッドとfor ループを探しています:

List<Temprature> list = new ArrayList<Temprature>();
for (int i = 0; i < 3; i++) { 
   Temprature t = new Temprature();
   t.setDegrees(input.nextDouble());
   list.add(t);
}

後で要素を取得するにはArrayList.get()、 を使用できます。また、すべてのオブジェクトを反復する必要がある場合は、for-each ループを使用できます。

于 2012-11-12T22:39:58.383 に答える
1
    List<Temparature> templist = new ArrayList<>();
    for(int i=0; i<3; i++){
     Temparature t = new Temparature();
     t.setDegrees(input.nextDouble());
    tempList.add(t);
    }

上記のコードは、ループ内に 3 つのTemparatureオブジェクトを作成し、反復ごとにそれらを追加します。

メソッドについてはArrayList APIを確認してください。

于 2012-11-12T22:40:12.810 に答える
1
List<Temperature> temperatures = new ArrayList<Temperature>();
for (int i = 0; i < 3; ++i) {
    Temperature t = new Temperature();
    t.setDegrees(userInput);
    temperatures.add(t);
}
// here you go
于 2012-11-12T22:40:46.847 に答える
0

ArrayList または温度の配列を使用しても、3 つの温度を宣言するよりもメモリ/速度の点で優れているわけではありません。

また、何をしようとしているかにもよりますが、名前で参照できるように、それらを個別に宣言した方がよいでしょう。

Temperature fahrenheit = new Temperature();
Temperature celsius = new Temperature();

このようにして、それらに名前でアクセスできますが、それらが配列内にある場合は、どれが配列内のどの位置にあったかを覚えておく必要があります。

とはいえ、これは、必要になる温度の数が事前にわかっている場合にのみ機能します。必要な数がわからない場合は、配列またはリストを使用する必要があります。

于 2012-11-12T22:52:53.733 に答える
0
List<Temperature> temps= new ArrayList<Temperature>();

for (int i=0;i<3;i++){
    Temperature t = new Temperature ()
    t.setDegrees(user input) ;
    temps.add(t)
}
System.out.println(temps);
于 2012-11-12T22:41:36.180 に答える