Switch语句到If语句
这里是编程新手。将Switch语句转换为If语句有点困难。任何帮助和解释都将不胜感激
public void setScale(String scale){
//everything will be in lower case
switch (scale.toLowerCase()) {
//convert for Celsius - 0 since first place holder in array
case "c":
case "celsius":
if (!this.scale.equals(scales[0])) {
convertToCelsius();
this.scale = scales[0];
}
break;
default:
System.out.println("Invalid value of scale! Try again");
}
}
这是我认为应该的。我只是想知道这样做是否正确
public void setScale(String scale){
if(scale == "C" || scale == "celsius"){
if(this.scale != scales[0]){
convertToCelsius();
this.scale = scales[0];
}
}
else{
System.out.println("Invalid scale");
}
}
# 1 楼答案
如果你是编程新手,首先学习语言的基础知识是非常重要的。网上有几十本免费教程。在我看来,学习Java Java Tutorials站点是最全面的信息源。无论如何,下面是使用
if
和switch
语句的解释:==
运算符的用法:当应用于对象(类的实例)时,它检查两个引用是否指向同一对象示例
但对于指向两个不同实例的两个参考变量,情况并非如此,如下例所示:
因此,您必须使用
equals
方法或equalsIgnoreCase()
方法。看看equals
和equalsIgnoreCase
方法here的定义最后,您的代码应该如下所示: