gpt4 book ai didi

java - 我在if语句和removeDie中的 boolean 值相等似乎有错误,我在删除一个骰子时遇到问题,如何解决这两个问题?

转载 作者:行者123 更新时间:2023-12-02 11:13:57 28 4
gpt4 key购买 nike

我需要查看杯子是否为空时printCup和removeDie是否返回false并从数组或杯子中删除一个骰子,我正在尝试-在removeDie上,但它没有用
我尝试将if与==一起使用,但它给了我错误,因此我切换为equals。
关于removeDie,我尝试从数组中获取-1,但它不起作用。
我感谢您对此提供的一些建议
提前致谢。



public class IndexDie {

public static void main(String[] args) {

System.out.println("Skapar en tärning och skriver ut den");
Die dice1 = new Die();
dice1.printDie();

System.out.println("Skapar en kopp med 3 tärningar och skriver ut koppen");
Cup cup = new Cup(3);
cup.printCup();

System.out.println("lägger 2 tärningar och skriver ut koppen igen");
cup.addDie();
cup.addDie();
cup.printCup();

System.out.println("Slår alla tärningar i koppen och skriver ut koppen igen,dessutom summan");
cup.roll();
cup.printCup();
System.out.println("Summan blir: " + cup.sum());

System.out.println("Tar bort 3 tärningar i koppen och skriver ut den");
cup.removeDie();
cup.removeDie();
cup.removeDie();
cup.printCup();

if (cup.removeDie().equals( false) {
System.out.println("Koppen är redan tom,finns inget att ta bort");
}
if (cup.removeDie().equals(false) {
System.out.println("Koppen är redan tom,finns inget att ta bort");
}
if (cup.removeDie().equals( false) {
System.out.println("Koppen är redan tom,finns inget att ta bort");
}
if (cup.printCup().equals( false) {
System.out.println("error tom kopp!");
}

}

}
import java.util.ArrayList;

public class Cup {

private ArrayList<Die> dice;

public Cup(int x) {
dice = new ArrayList<Die>();
for (int i = 0; i < x; i++) {
dice.add(new Die());

}
}

public void addDie() {
dice.add(new Die());

}

public int sum() {
int sum = 0;
for (int i = 0; i < dice.size(); i++) {
sum = sum + dice.get(i).value();

}
return sum;
}

public void roll() {
for (int p = 0; p < dice.size(); p++) {
dice.get(p).roll();
}

}

boolean ok = true;

public void removeDie() {
for (int x = 0; x < dice.size(); x--) {
dice.add(new Die());
ok = false;
}

}

public void printCup() {
System.out.println("Tärning: " + dice);
ok = false;
}

}
public class Die {

private int die;



public void roll() {
this.die =1 + (int) (Math.random() * 6);

}

public int value() {
return this.die;

}

public void printDie() {
System.out.println(this.die);


}



}

最佳答案

您的方法removeDievoid类型,这意味着它不返回任何内容。

您应该这样做:

public boolean removeDie() {
boolean ok = true;
for (int x = 0; x < dice.size(); x--) {
dice.add(new Die());
ok = false;
}

return ok;
}

接着
if(!cup.removeDie()){
// ...
}

关于java - 我在if语句和removeDie中的 boolean 值相等似乎有错误,我在删除一个骰子时遇到问题,如何解决这两个问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58393201/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com