扫描仪没有扫描我的输入

Kab*_*ltv 6 java java.util.scanner

我正在尝试阅读一行,然后进入if语句.但是在第一次输入红色后它就会终止.我不知道出了什么问题,我无法弄明白

import java.util.Scanner;

public class mainen {

    public static void main(String[] args) {
        Formler form = new Formler();
        Scanner Sscan = new Scanner(System.in);
        Scanner Dscan = new Scanner(System.in);
        String input;
        System.out.println("Formler: Molmassa");
        input = Sscan.nextLine();

        if(input == "molmassa" || input == "Molmassa"){
            double m;
            double M;
            System.out.println("Massa: "); m = Dscan.nextDouble();
            System.out.println("Molmassa: "); M = Dscan.nextDouble();
            System.out.println(form.getMolmassa(m, M));
        }
    }

}
Run Code Online (Sandbox Code Playgroud)

Pra*_*mha 9

将您的if陈述更改为:

if(input.equalsIgnoreCase("molmassa") ) {  }
Run Code Online (Sandbox Code Playgroud)

然后它应该按预期工作.请记住始终使用equals()equalsIgnoreCase()方法比较字符串.==比较对象引用而不是实际值.


Sub*_*der 3

if(input == "molmassa" || input == "Molmassa"){}
Run Code Online (Sandbox Code Playgroud)

你应该将String对象与equals方法或equalsIgnoreCase方法等同起来。

if(input.equalsIgnoreCase("Molmassa")){}
Run Code Online (Sandbox Code Playgroud)

==用于原始相等检查。