如何在Java中读取和比较字符串?
我一直试图将一个字符串与另一个字符串进行比较,或者将一个字符串与一个语句进行比较,但我找不到错误所在。 我尝试使用如何在Java中读取和比较字符串?,java,string,compare,statements,Java,String,Compare,Statements,我一直试图将一个字符串与另一个字符串进行比较,或者将一个字符串与一个语句进行比较,但我找不到错误所在。 我尝试使用==但它不起作用,然后我改为.equals() 这里的想法是询问用户将要计算其面积的形状的名称,如果它等于我将要命名的不同形状之一,那么它将根据形状使用公式。您必须区分引用和值。使用“==”表示比较的是引用,而不是值。 这里的链接将描述通常用于比较变量的java方法以及在哪些情况下必须使用它们 我希望这能回答您的问题。替换这一行:字符串figura=scan.nextLine()带
==
但它不起作用,然后我改为.equals()
这里的想法是询问用户将要计算其面积的形状的名称,如果它等于我将要命名的不同形状之一,那么它将根据形状使用公式。您必须区分引用和值。使用“==”表示比较的是引用,而不是值。 这里的链接将描述通常用于比较变量的java方法以及在哪些情况下必须使用它们
我希望这能回答您的问题。替换这一行:
字符串figura=scan.nextLine()代码>带有字符串figura=scan.next()代码>和您的程序将工作:见下图
还可以看到Scanner.next()和Scanner.nextLine()之间的区别。当我尝试这个程序并输入triangula
作为输入时,它似乎对我有用,因为它打印了Ingree base y altura del Triangula.
。然后输入边的值,它就工作了。我认为代码是正确的。您在运行时输入了什么问题是什么?代码按原样工作。使用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);
}
}