Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Java中读取和比较字符串?_Java_String_Compare_Statements - Fatal编程技术网

如何在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);
    }
}