我寫一個程序,它從一個六個的骰子返回一個隨機數,也需要在一個字符串詢問用戶雙方的量第二個骰子。如果用戶輸入數字2,4,8,10,12,20,100,則骰子角色具有多個邊。如果用戶輸入了除此之外的數字,那麼比第二個骰子應該有六面角色。我們的問題是,如果用戶輸入比給定的值以外的數,則返回0,我們需要1和6之間返回一個隨機數,因爲它是一個六個的骰子。有關如何修復我們的代碼的任何建議?模具滾動遊戲
//Blueprint
public class Die{
private int numSides;
private int sideFacingUp;
public int die1;
public int die2;
public int num;
public Die()
{
roll();
}
public Die(int number)
{
num = number;
if(num==2||num==4||num==8|num==10||num==12||num==20||num==100)
{
roll2(num);
}
else
{
roll();
}
}
public void roll()
{
die1= (int)(Math.random()*6)+1;
}
public void roll2(int no)
{
die2 = (int)(Math.random()*no)+1;
}
public int getDie1()
{
//System.out.println("I m here");
return die1;
}
public int getDie2()
{
return die2;
}
}
//actual program
import java.util.Scanner;
public class DieTester{
public static void main(String[] args){
int num;
Die D1 = new Die();
Scanner s1 = new Scanner(System.in);
System.out.println("The Value of the First Die:"+D1.getDie1());
System.out.println("Enter number of Die you want to create");
num = s1.nextInt();
Die D2 = new Die(num);
System.out.println("The Value of the Second Die:"+D2.getDie2());
}
}
歡迎堆棧溢出!它看起來像你需要學習使用調試器。請幫助一些[互補調試技術](https://ericlippert.com/2014/03/05/how-to-debug-small-programs/)。如果您之後仍然有問題,請隨時返回更多詳情。 –
第一步:在你的模組中,擺脫die1和die2並創建dieFace;你在考慮這個錯誤。你想返回的唯一值是死亡的頂部,而不是兩個不同的骰子。也擺脫roll2。你不需要它。 die1和die2成爲dieFace並僅返回dieFace。 – Sedrick
在你的主要問題,「輸入的模具要創建的數字」聽起來並不好這裏。這個問題應該是這樣的:「你想要第二個骰子有多少面或面?」 – Sedrick