因此,我只是几天前才开始学习Java,除了这项令人震惊的练习之外,我的状态非常好。因此,练习是“编写一个程序,显示从1到30的所有数字,它们被3整除”。所以这很容易:

class numbers {
    public static void main (String args[]) {
        for (int i = 0; i <=30; i++){
            switch(i % 3){
                case 0 :
                    break;
                default :
                    System.out.println(i);
                    break;
            }
        }
    }
}

除了其中一个变体说“检测到除数为3后使用break。现在我不确定上面代码中使用的htt break是否正确,因为它是switch的一部分。我想知道是否还有其他方法去做吧。

最佳答案

一些修复:

  • 类名称应以大写字母开头,名称类为Numbers,而不是numbers
  • 从1开始而不是从0开始迭代,因为您要显示范围为[1..30]的数字。
  • 因为这里只有两种可能性(不可分割或不可分割),所以用if语句替换switch。开关更适合各种条件。
  • 最重要。使用break将使您跳出循环。使用continue将跳过此循环并转到下一个迭代。

  • 因此,现在您的代码应该看起来更短,更干净:)
    class Numbers {
        public static void main (String args[]) {
            for (int i = 1; i <=30; i++){
                if(i % 3 == 0){
                 continue;
                }
                 System.out.println(i);
                }
            }
        }
    }
    

    或者您可以选择较短的版本:
    for (int i = 1; i <=30; i++){
        if(i % 3 != 0){
           System.out.println(i);
        }
    }
    

    09-26 17:49