首页 > 解决方案 > Java条件语句混淆

问题描述

测试一个简单的 while 循环,但我很困惑, if bottleis 1,name is "bottle"

但即使bottle大于它1,它仍然会打印"bottle"而不是"bottles"

public class ex {
  public static void main(String[] arg) {
    int bottle = 0;
    String name = "bottles";
    while (bottle < 100) {
      if (bottle == 1) {
        name = "bottle";
      }
      System.out.println(bottle + " " + name);
      ++bottle;
    }
  }
}

标签: javaloopsif-statementwhile-loop

解决方案


一旦你设置了 name = "bottle"; 那么 name 将永远是“bottle”,除非你把它改回来。在 if 语句之后添加:

else {
    name = "bottles";
}

推荐阅读