If statement 我似乎无法附加我的else if语句
如果我试图输入“oz”或“oz”,elseif语句似乎无法继续,我不知道为什么。任何帮助都将不胜感激!谢谢If statement 我似乎无法附加我的else if语句,if-statement,append,contains,If Statement,Append,Contains,如果我试图输入“oz”或“oz”,elseif语句似乎无法继续,我不知道为什么。任何帮助都将不胜感激!谢谢 Scanner input = new Scanner(System.in); StringBuilder sb = new StringBuilder(); String Ma = "mass" + "MASS"; String La = "oz" + "OZ"; System.out.println("Hi, what are you try
Scanner input = new Scanner(System.in);
StringBuilder sb = new StringBuilder();
String Ma = "mass" + "MASS";
String La = "oz" + "OZ";
System.out.println("Hi, what are you trying to find?");
System.out.println("mass");
System.out.println("vol");
System.out.println("temp");
System.out.println("sphere");
System.out.println("density");
String convert = input.nextLine();
if (Ma.contains(sb.append(convert))) {
System.out.println("You are trying to convert mass.");
System.out.println("Type the unit of measurement you are trying to convert to.");
System.out.println("If you are trying to find mass type mass.");
System.out.println("pound");
System.out.println("ounce");
System.out.println("ton");
System.out.println("gram");
System.out.println("mass");
String mass = input.nextLine();
}
else if (La.contains(sb.append(convert))) {
System.out.println("34223412351Type the number of oz.");
double oz = input.nextDouble();
System.out.println(oz + " oz equal to " + oz / 16 + " lb.");
System.out.println(oz + " oz equal to " + oz / 32000 + " ton.");
System.out.println(oz + " oz equal to " + oz * 0.02835 + " kg.");
System.out.println(oz + " oz equal to " + oz * 28.35 + " g.");
System.out.println(oz + " oz equal to " + oz * 2835 + " cg.");
System.out.println(oz + " oz equal to " + oz * 28350 + " mg.");
}
}
}
为什么需要stringbuilder?您可以直接使用Ma.contains(转换)和La.contains(转换),这将正确运行if-else 在您的例子中,它没有为oz运行的原因是字符串生成器添加了两次“oz”。 1.当它在Ma中查看时 2.当它在洛杉矶检查时 所以在洛杉矶,你的sb包含“ozoz”,这就是为什么else if永远不会运行的原因 如果需要在此处使用stringbuilder,请在从扫描仪读取字符串后使用sb.append,而不是在If条件下