2017-04-24 19 views
0

如果我尝试输入“oz”或“OZ”else else语句似乎不会继续,我不知道为什么。任何帮助,将不胜感激!谢谢!!!我似乎无法追加我的else语句

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."); 
     } 
    } 
} 

回答

0

为什么你需要,你可以直接使用Ma.contains(转换)和La.contains(转换)StringBuilder的,这将运行,如果其他正常。

它在您的情况下不运行盎司的原因是字符串生成器正在追加'盎司'两次。 1.当它检查在Ma 中看到2.当它检查La 中看到所以在La你的sb包含'ozoz',这就是为什么else从未运行。

如果您需要使用stringbuilder,请使用sb.append从扫描仪读取字符串,而不是在if条件下