【问题标题】:java program for print all numbers between -100 to 100 divisible by 3java程序打印-100到100之间所有可被3整除的数字
【发布时间】:2022-01-23 07:02:32
【问题描述】:

我尝试了很多次,但如果有人能帮助解决这个问题,我将不胜感激。

有我的代码,还有其他版本吗?

int n=201;
int []array = new int[n];
int j=0;

for (int i = -100;i <= 100; i++)
{
    if (i % 3 != 0)
    {
        array[j] = i;
        j++;
    }
}
for (int i = 0;i < j;i++)
{
    System.out.println(array[i]);
}

【问题讨论】:

    标签: java algorithm


    【解决方案1】:

    您可以使用 Stream API 打印 -100 到 100 之间可被 3 整除的所有数字。

    像这样……

    IntStream.rangeClosed(-100, 100)
             .filter((item) -> item % 3 == 0)
             .forEach(System.out::println);
    

    rangeClosed() 方法接受这两个参数并生成一个 Stream,其中包含从 -100 到 100 的数字序列,两者都是 inclusive

    【讨论】:

      【解决方案2】:

      用于打印 -100 到 100 之间可被 3 整除的所有数字的 java 程序

      您不需要列表或数组。只需打印数字即可。

      但首先,您需要调整起始值,使其可以被3 整除。这可以使用余数运算符来完成。

      int start = -100;
      start -= start % 3;  // start - (-1) = -99
      int end = 100;
      

      现在只需遍历范围,递增 3。

      for(int i = start; i <= end; i+=3) {
         System.out.println(i);
      }
      

      【讨论】:

      • 太棒了!任何版本的程序都不能被 3 整除?
      • 我不得不改变我的答案,但想法是一样的。关于您的评论,并不是像上面那样直截了当。在这种情况下,使用i % 3 != 0 的显式测试将是最简单的方法。
      • 可能不必这样做。良好的观察力。我将编辑我的答案。
      猜你喜欢
      • 2018-04-10
      • 1970-01-01
      • 1970-01-01
      • 2019-04-16
      • 1970-01-01
      • 1970-01-01
      • 2019-11-16
      • 1970-01-01
      • 2015-11-16
      相关资源
      最近更新 更多