我正在尝试阅读一行,然后进入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)); } } }
解决方法
将您的if语句更改为:
if(input.equalsIgnoreCase("molmassa") ) { }
然后它应该按预期工作.请记住,始终使用equals()或equalsIgnoreCase()方法比较字符串. ==比较对象引用而不是实际值.