コードソースを投稿するのは初めてです。私はObject &コンストラクターを練習していますが、このコードを作成することになりましたが、実行するとStringGeneratedがnullになり、「The Color Generated was:null」と表示されます。私はそれを変更して修正しようとしましたが、失敗しました。読んでくれてありがとう。Simpeオブジェクトとクラスの問題 - Java
public class Color{
int colorValue;
String colorGenerated1;
public Color(String colorGenerated){
System.out.println("The Color Generated was: " + colorGenerated);
}
public void randomizeColor(){
Random randomColor= new Random();
colorValue = randomColor.nextInt(3);
}
public int getColor(){
if(colorValue == 1){
colorGenerated1 = "Red";
} else if(colorValue == 2){
colorGenerated1 = "Blue";
} else if(colorValue == 3){
colorGenerated1 = "Yellow";
}
return colorValue;
}
public static void main(String[] args){
Color color = new Color("colorGenerated");
color.randomizeColor();
color.getColor();
}
}
あなたが投稿したコードでは、その動作は不可能です。あなたは同じコードを実行していますか? –
コンストラクタに渡された値だけを出力するので、あなたが得ている出力は混乱します。唯一の方法は '' New Color(null) 'を実行した場合の出力と同じで、' '生成されるColorはnull:' 'でした。あなたがここに投稿したコードは常に代わりに出力されるでしょう。 "生成された色は:colorGenerated"でした。一方、Elliottが示唆していることは、 'nextInt(3)'は '0'、' 1'または '2'を返すので、' getColor'ロジックは1で消えるように見えます。 – Radiodef
はいはい今私は3の範囲を取得するために、私はnextInt(4)を0,1,2、&3を返さなければならないと思う。ありがとう。 –