我們的CS類被分配用來創建一個程序,該程序將兩個java對象導入到一個應該返回一組骰子面值的類中。 Die類生成一個隨機數並將該值打印到屏幕上。 testDie類導入兩個die對象數組,其中一個具有六個邊而另一個具有15個。該程序僅打印具有六個邊的骰子的值(它是骰子btw的數組),並且不打印出其他15個邊的骰子。有人可以向我解釋我做錯了什麼嗎?謝謝。將多個Java對象導入類中?
以下是我的模具類,它生成隨機面值
import java.util.Random;
public class Die {
int face; //current value of the face of the die object
int numSides; //number of sides of the die object
Random ran = new Random();
Random ran2 = new Random();
public Die(){//default constructor
int numSides = 0;
int face = 0;
}
public Die (int sides){
sides = numSides;
face = 0;
setSides();
}
private void setSides() {
if(numSides > 6)
face = roll2();
if(numSides <= 6)
face = roll();
}
public int getFace(){
return face;
}
public int getNumSides(){
return numSides;
}
public int roll(){
return face = ran.nextInt(6) +1; //generates a random number between 1 and 6.
}
public int roll2(){
return face = ran2.nextInt(20) + 7; // generates a random number between 7 and 20.
}
public String toString(){
return Integer.toString(face);
}
}
該代碼創建兩個模具對象並打印出來到屏幕上。
public class TestDie extends Die {
public static void main(String[] args) {
Die[] dieobject = new Die[3];
for (int i=0; i< dieobject.length; i++)
{
dieobject[i] = new Die(6); // a die with 6 sides
}
for (int i=0; i<dieobject.length; i++) // prints out the 3 dice face values
{
System.out.println("The value of die " + (i+1) + " is " + dieobject[i].toString());
}
Die[] dieobject2 = new Die[3];
for (int i=0; i< dieobject2.length; i++)
{
dieobject2[i] = new Die(15); // a die with 15 sides
}
for (int i=0; i<dieobject2.length; i++) // prints out the 3 dice face values
{
System.out.println("The value of die " + (i+1) + " is " + dieobject2[i].toString());
}
}
}
對不起格式不好。我是這個網站的新手。任何幫助將不勝感激。
而不是格式不好道歉,看看[格式幫助網站](http://stackoverflow.com/editing-help)。 –
您還錯誤地使用了術語「導入」。在Java中,它特指在另一個包中查找一個類並將其映射到當前文件,以便您可以使用它的短名稱,以便您可以說'import java.util.Map',然後使用'Map' 。 – chrylis
爲什麼TestDie擴展Die? –