我正在尝试创建一个程序,我在其中输入一个形状的名称,它告诉我它有多少边。我似乎无法让它发挥作用。任何人都可以解释如何做到这一点吗?
import java.util.Scanner;
public class Shapes {
public static void main(String[] args) {
Scanner reader = new Scanner(System.in);
String shape;
System.out.print("Enter shape: ");
shape = reader.next();
if (shape == "hexagon") {
System.out.println("A hexagon has 6 sides.");
}
if (shape == "decagon"); {
System.out.println("A decagon has 10 sides.");
}
}
}
答案 0 :(得分:0)
在Java中,您希望将.equals()与字符串一起使用。
例如:
if(shape.equals("hexagon"))
由于==运算符询问String对象shape
是否与“hexagon”完全相同(它不是 - hexagon是常量而shape
是对象)。
答案 1 :(得分:0)
将对象与Java中的equals
进行比较:
if (shape.equals("hexagon")) {
System.out.println("A hexagon has 6 sides.");
}
只能将原始类型(int,long,double等)的值与==
进行比较。如果您将对象与==
进行比较,则需要比较object identity,而不是值。
答案 2 :(得分:0)
如果
,请使用shape.equals("triangle")
运算符==,测试两个对象引用变量是否引用对象的完全相同的实例。
方法.equals(),测试两个对象是否相互比较 - 但它们不必是同一对象的完全相同的实例。
您可以将==与原始类型一起使用。对于String,使用equals()