gpt4 book ai didi

java - if 和 else 语句

转载 作者:行者123 更新时间:2023-12-01 07:10:27 24 4
gpt4 key购买 nike

我正在尝试实现一个 toString 方法,并且 toString 的输出取决于 boolean 变量。下面是我的类(class)和主要类(class)。

public class Cell {

public int addSpaces;
boolean isEmpty;
boolean isChute;
boolean isLadder;

public Cell() {
addSpaces = 10; //I initialized addSpaces to 10 for testing purpose
}

public boolean isChute() { //first boolean method
if (addSpaces == -10) {
return true;
} else {
return false;
}
}

public boolean isLadder() {//second boolean method
if (addSpaces == 10) {
return true;
} else {
return false;
}
}

public boolean isEmpty() { //third boolean method
if (addSpaces == 0) {
return true;
} else {
return false;
}
}

public String toString() {
String print;
if (isChute = true) //if isChute is true return true.
{
print = "C10"; // toString output = "C10"
} else if (isLadder = true) // if isLadder is true return true
{
print = "L10"; // toString output == "L10"
} else {
print = "---"; // else toString print output = "---"
}
return print;
}

public static void main(String[] arg) {
Cell s = new Cell();

System.out.println(s.addSpaces);
System.out.println(s);
}
}

无论toString的输入状态如何,我基本上都会得到相同的输出“C10”。

有人可以告诉我我做错了什么吗?

我是这个网站的新手,因此我感谢任何反馈以供将来引用。谢谢。

最佳答案

你陷入了一种语言的“陷阱”

这个...

if(isChute = true) //if isChute is true return true.
print = "C10"; // toString output = "C10"
else if (isLadder = true) // if isLadder is true return true
print = "L10"; // toString output == "L10"
else
print = "---"

实际上是将true分配给isChute。您应该使用 == 而不是 =

已更新

更好的方法是......

if(isChute) //if isChute is true return true.
print = "C10"; // toString output = "C10"
else if (isLadder) // if isLadder is true return true
print = "L10"; // toString output == "L10"
else
print = "---"

如果对象只有两种状态(滑槽或梯子),您可以简单地使用

if(isChute) //if isChute is true return true.
print = "C10"; // toString output = "C10"
else print = "L10"; // toString output == "L10"

如果它可以有超过 2 个状态,那么我会使用 enum type相反。

关于java - if 和 else 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15425269/

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