如何读取和比较Java中的字符串?
How to read and compare strings in Java?
我一直在尝试将一个字符串与另一个字符串进行比较,或者将一个字符串与一个语句进行比较,但我找不到错误所在。
我尝试使用 ==
但它没有用,然后我改为 .equals()
static Scanner scan = new Scanner(System.in);
public static void main(String[] args) {
System.out.print("En este programa calcularemos el area de una figura.\n" +
"Ingresa a continuacion que figura calcularemos.");
String triangulo = "triangulo";
String figura = scan.nextLine();
if (figura.equals(triangulo)){
System.out.print("Ingrese base y altura del triangulo.\n");
double base = scan.nextDouble();
double altura = scan.nextDouble();
System.out.print("La altura es " + (base*altura)/2);
}
}
这里的想法是询问用户要计算其面积的形状的名称,如果它等于我要命名的不同形状之一,那么它将根据形状使用公式。
您必须区分比较引用和值。使用“==”意味着您比较的是引用而不是值。
link 此处将描述一般比较变量的 java 方法是什么,以及在哪些情况下必须使用它们。
http://www.leepoint.net/data/expressions/22compareobjects.html
我希望这能回答你的问题。
将此行:String figura = scan.nextLine();
替换为 String figura = scan.next();
,您的程序将运行:见下图
另见 here Scanner.next() 和 Scanner.nextLine()
之间的区别
当我尝试这个程序并输入 triangulo
作为输入时,它似乎对我有用,因为它打印了 Ingrese base y altura del triangulo.
。然后输入 sides 的值并且它起作用了。我认为代码是正确的。
我一直在尝试将一个字符串与另一个字符串进行比较,或者将一个字符串与一个语句进行比较,但我找不到错误所在。
我尝试使用 ==
但它没有用,然后我改为 .equals()
static Scanner scan = new Scanner(System.in);
public static void main(String[] args) {
System.out.print("En este programa calcularemos el area de una figura.\n" +
"Ingresa a continuacion que figura calcularemos.");
String triangulo = "triangulo";
String figura = scan.nextLine();
if (figura.equals(triangulo)){
System.out.print("Ingrese base y altura del triangulo.\n");
double base = scan.nextDouble();
double altura = scan.nextDouble();
System.out.print("La altura es " + (base*altura)/2);
}
}
这里的想法是询问用户要计算其面积的形状的名称,如果它等于我要命名的不同形状之一,那么它将根据形状使用公式。
您必须区分比较引用和值。使用“==”意味着您比较的是引用而不是值。 link 此处将描述一般比较变量的 java 方法是什么,以及在哪些情况下必须使用它们。
http://www.leepoint.net/data/expressions/22compareobjects.html
我希望这能回答你的问题。
将此行:String figura = scan.nextLine();
替换为 String figura = scan.next();
,您的程序将运行:见下图
另见 here Scanner.next() 和 Scanner.nextLine()
之间的区别当我尝试这个程序并输入 triangulo
作为输入时,它似乎对我有用,因为它打印了 Ingrese base y altura del triangulo.
。然后输入 sides 的值并且它起作用了。我认为代码是正确的。