If statement 我似乎无法附加我的else if语句

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

如果我试图输入“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 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条件下