if else 语句中的死分支
Dead branch in if else statement
我正在编写这段代码,您可以在其中为程序命名。
Java 告诉我,如果变量 "isACoolGuy" 为假,语句中的 else 永远不会被使用,而它应该被使用。
if (isACoolGuy = true){
System.out.println("Thank you for this name... "+ name);
}else if(isACoolGuy = false){
System.out.println("Okay im changing my name since you are an idiot");
name = name = "jack";
System.out.println("My name is "+ name + " now");
之前有一个 switch 语句应该将 "isACoolGuy" 布尔值更改为 false。
case "name":
System.out.println("You are an a******");
isACoolGuy = false;
break;
您没有检查它是否为真,而是将 isACoolGuy 赋值给真,因此它的计算结果始终为真。
if (isACoolGuy = true){
改为使用
if (isACoolGuy == true){
更好用:-
if (isACoolGuy)
你的if错了
if (isACoolGuy == true){
System.out.println("Thank you for this name... "+ name);
}else if(isACoolGuy == false){
System.out.println("Okay im changing my name since you are an idiot");
name = "jack";
System.out.println("My name is "+ name + " now");
或更好
if (isACoolGuy){
System.out.println("Thank you for this name... "+ name);
}else if(!isACoolGuy){
System.out.println("Okay im changing my name since you are an idiot");
name = "jack";
System.out.println("My name is "+ name + " now");
在你的情况下最正确的方法是跳过 else if 并像这样用单个 else 替换它
if (isACoolGuy){
System.out.println("Thank you for this name... "+ name);
}else {
System.out.println("Okay im changing my name since you are an idiot");
name = "jack";
System.out.println("My name is "+ name + " now");
还有一些理论
isACoolGuy= true 表示将 true 值赋给 isACoolGuy 变量。
在 if always returns true 中使用它
isACoolGuy == true 检查变量 isACoolGuy 是否具有真值。
比较
在 if 中您可以跳过比较布尔值,因为 if 具有以下格式
if(true)
{
}
所以 If(isACoolGuy) 类似于 if(isACoolGuy==true)
检查条件应该使用 ==
而不是 =
它是为了赋值,像这样 if(isACoolGuy == true)
.
尝试删除第二个条件 if(isACoolGuy == false)
不是必需的,这样的关键字 else
就足够了:
isACoolGuy = true;
...
if (isACoolGuy){ // the positive control
System.out.println("Thank you for this name... "+ name);
}else{ // otherwise negative
...
}
我正在编写这段代码,您可以在其中为程序命名。
Java 告诉我,如果变量 "isACoolGuy" 为假,语句中的 else 永远不会被使用,而它应该被使用。
if (isACoolGuy = true){
System.out.println("Thank you for this name... "+ name);
}else if(isACoolGuy = false){
System.out.println("Okay im changing my name since you are an idiot");
name = name = "jack";
System.out.println("My name is "+ name + " now");
之前有一个 switch 语句应该将 "isACoolGuy" 布尔值更改为 false。
case "name":
System.out.println("You are an a******");
isACoolGuy = false;
break;
您没有检查它是否为真,而是将 isACoolGuy 赋值给真,因此它的计算结果始终为真。
if (isACoolGuy = true){
改为使用
if (isACoolGuy == true){
更好用:-
if (isACoolGuy)
你的if错了
if (isACoolGuy == true){
System.out.println("Thank you for this name... "+ name);
}else if(isACoolGuy == false){
System.out.println("Okay im changing my name since you are an idiot");
name = "jack";
System.out.println("My name is "+ name + " now");
或更好
if (isACoolGuy){
System.out.println("Thank you for this name... "+ name);
}else if(!isACoolGuy){
System.out.println("Okay im changing my name since you are an idiot");
name = "jack";
System.out.println("My name is "+ name + " now");
在你的情况下最正确的方法是跳过 else if 并像这样用单个 else 替换它
if (isACoolGuy){
System.out.println("Thank you for this name... "+ name);
}else {
System.out.println("Okay im changing my name since you are an idiot");
name = "jack";
System.out.println("My name is "+ name + " now");
还有一些理论
isACoolGuy= true 表示将 true 值赋给 isACoolGuy 变量。 在 if always returns true 中使用它 isACoolGuy == true 检查变量 isACoolGuy 是否具有真值。 比较
在 if 中您可以跳过比较布尔值,因为 if 具有以下格式
if(true)
{
}
所以 If(isACoolGuy) 类似于 if(isACoolGuy==true)
检查条件应该使用 ==
而不是 =
它是为了赋值,像这样 if(isACoolGuy == true)
.
尝试删除第二个条件 if(isACoolGuy == false)
不是必需的,这样的关键字 else
就足够了:
isACoolGuy = true;
...
if (isACoolGuy){ // the positive control
System.out.println("Thank you for this name... "+ name);
}else{ // otherwise negative
...
}