Javaを勉強中の初心者です!
私は現在、「Building Skills in Object-Oriented Design」という本を試しており、ルーレットに取り組んでいます。
Outcome オブジェクトを含む TreeSet を構築するクラス Bin があります。それらは Outcome クラスで構築されます。
今、私は Wheel クラスに取り組んでいます。ここでは、38 個の新しい Bin() s で埋めている new Vector(38) を使用しています。
さて本題。
Vector から Bin オブジェクトを取得するメソッドを作成したいと考えています。
Bin get(int bin){
return bins.elementAt(bin);
}
これは機能せず、Eclipse は 2 つの修正を提案しています。
1: キャストを追加
2: ビンをオブジェクトに変更
ここで何が起こっているのですか?思い通りにビンを返せないのはなぜ?オブジェクトにキャストまたは変更すると、機能しません。
これは Wheel クラスです
package Roulette;
import java.util.Random;
import java.util.Vector;
public class Wheel {
Vector bins;
Random rng;
Wheel(Random rng){
rng = new Random();
bins = new Vector(38);
for (int i=0; i<38; i++){
bins.add(i, new Bin());
}
}
void addOutcome(int bin, Outcome outcome){
this.bins.elementAt(bin).add(outcome);
}
Bin next(){
int rand = rng.nextInt(38);
return bins.elementAt(rand);
}
Bin get(int bin){
return bins.elementAt(bin);
}
}