Java 在我正在进行的DiceRoll项目中,If和Switch语句存在问题
我目前正在学习的课程之一是掷骰子项目。项目的一个要求是使用嵌套的if-else语句和至少一个Java 在我正在进行的DiceRoll项目中,If和Switch语句存在问题,java,if-statement,switch-statement,dice,Java,If Statement,Switch Statement,Dice,我目前正在学习的课程之一是掷骰子项目。项目的一个要求是使用嵌套的if-else语句和至少一个开关语句。另一个要求是根据这张图给出掷骰子的俚语 下面是我当前的代码,底部有一个解释: import java.util.Random; public class Dice { public int die1; public int die2; public int total; public String name; public boolean doubles = false; Ra
开关
语句。另一个要求是根据这张图给出掷骰子的俚语
下面是我当前的代码,底部有一个解释:
import java.util.Random;
public class Dice {
public int die1;
public int die2;
public int total;
public String name;
public boolean doubles = false;
Random random = new Random();
public void setDie1() {
die1 = random.nextInt(6) + 1;
}
public void setDie2() {
die2 = random.nextInt(6) + 1;
}
public void setTotal() {
total = die1 + die2;
}
public int getDie1() {
return "Roll #1: " + die1;
}
public int getDie2() {
return "Roll #2: " + die2;
}
public int getTotal() {
return die1 + "plus" + die2 + "=" + total;
}
public boolean checkDouble() {
if (die1 == die2) {
doubles = true;
return " ";
} else {
doubles = false;
return " ";
}
return " ";
}
public String getName() {
if (doubles = true){
name = "1";
} else if (total = 7) {
name = "7";
} else if (total = 5) {
name = "5";
} else if (total = 9) {
name = "9";
} else if (total = 11) {
name = "11";
} else if ((die1 = 1 && die2 = 2) || (die1 = 2 && die2 = 1)) {
name = "2";
} else if ((die1 = 4 && die2 = 2) || (die1 = 2 && die2 = 4)) {
name = "6";
}
}
}
所以我最初的想法是在getName中创建嵌套的if-else语句。这些将对应于数字,然后我将使用这些数字生成一个switch语句——也是在getName中——它将根据掷骰子的数字返回骰子俚语。我发现的唯一问题是,因为有多种方法可以滚动每个数字
例如,如果数字是6,则可以滚动双3或2和4。这意味着我必须创建许多不同的情况,并创建一个非常长的switch语句。最后,我还遇到了一个错误,
name=“2”代码>和name=“6”代码>语句,其中需要一个您正在犯一些基本错误
- 返回类型为
int
只需返回一个int,并在打印时给它一个名称
=
用于赋值,=
用于数值比较。您正在错误地比较模具值。您经常在getName()
方法中执行此操作
- 您没有在
getName()
方法中返回值
- 如果返回类型为
布尔值
,则不能返回字符串
为什么不做下面的事情呢
public boolean checkDouble() {
return die1 == die2;
}
- 一个建议。我建议使用
throw
方法并在那里生成它们,而不是使用setter来生成die-throw。然后使用getter检索值
我感觉你不理解一些语法基础。您的代码中一定有许多编译时错误。您需要努力确保程序正确编译并运行。然后处理执行/逻辑问题
我也建议你和你的导师讨论这个问题
else if ((die1 = 1 && die2 = 2) || (die1 = 2 && die2 = 1)) {
name = "2";
public boolean checkDouble() {
if (die1 == die2) {
doubles = true;
return " ";
} else {
doubles = false;
return " ";
}
return " ";
}
public boolean checkDouble() {
return die1 == die2;
}