我写一个程序,它从一个六个的骰子返回一个随机数,也需要在一个字符串询问用户双方的量第二个骰子。如果用户输入数字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