基本的に、コンピューターがランダムなカードを生成するこのプログラムを作成しました。「rndnumber」というクラスを作成しました。このクラスは乱数を生成します。次に、「rndsuits」という別のクラスを作成しました。これにより、ランダム スーツが生成されます。問題は、メインクラスに移動してコードを実行すると、数字とスーツの代わりに null が取得されることです。理由を知っている人はいますか?私の出力は基本的に次のとおりです。これがランダム カードです。null の null。
public class maincard {
public static void main(String[] args){
System.out.println("Here is your random card");
rndnumber h = new rndnumber();
rndsuit a = new rndsuit();
System.out.println(h.getString() + " of " + a.getStringz());
}
}
public class rndnumber {
private int rndnumber = (int) (Math.random()*13+1);
private String number;
public String getString(){
return number;
}
public void rnd(){
switch (rndnumber){
case 1:
number = "Ace";
break;
case 2:
number = "2";
break;
case 3:
number = "3";
break;
case 4:
number = "4";
break;
case 5:
number = "5";
break;
case 6:
number = "6";
break;
case 7:
number = "7";
break;
case 8:
number = "8";
break;
case 9:
number = "9";
break;
case 10:
number = "10";
break;
case 11:
number = "Jacks";
break;
case 12:
number = "Queens";
break;
case 13:
number = "Kings";
break;
}
}
}
public class rndsuit {
private int y = (int) (Math.random()*3+1);
private String rndsuit;
public String getStringz(){
return rndsuit;
}
public void suit(){
switch(y){
case 1:
rndsuit = "Spades";
break;
case 2:
rndsuit = "Cloves";
break;
case 3:
rndsuit = "Hearts";
break;
case 4:
rndsuit = "Diamonds";
break;
}
}
}