【问题标题】:What's the easiest way to increment a value by x将值增加 x 的最简单方法是什么
【发布时间】:2019-07-06 13:43:00
【问题描述】:

我有一个长度为 20 的 for 循环。

我的身高是 800。我想用相同的间隔放置一个 20 倍的值。

例如:

800 / 20 = 40

每 40 个我想打印一个值。 40、80、120、160……直到 800。

我不明白如何在循环中执行此操作。我的方法是错误的,它们之间没有相同的差距。

for (int i = 0; i < array.size(); i++) {

   int posY = (i != 0) ? 800/ i : 800;
   println(posY);
}

【问题讨论】:

标签: java


【解决方案1】:

您可以使用模数运算符。 more info

if(i % 40 == 0){
    println(posY);
}

取模here的数学解释

【讨论】:

    【解决方案2】:

    嗯,恕我直言,有三种不同的方法。哪一个取决于您还需要对 i 做什么。

    1) 直接使用 i:

    for (int i = 40; i <= 800; i+=40) {
        println(i);
    }
    

    这假设您只需要 20 个数字即可。

    2) 你需要数数:

    for (int i = 1; i <= 20; i++){
        println(i*40);
    }
    

    2b) 应用程序,例如。如果 800 在变量中:

    for (int i = 1; i <= 800/40; i++){
        println(i*40);
    }
    

    这假设您需要跟踪您正在采取的步骤并希望对 i 做某事。

    3) 你需要中间的步骤来做某事

     for (int i = 1; i <= 800; i++) {
         if(0 == i%40 ){ //if the rest of i/40 gives 0
             println(i);
         }
     }
    

    最后一个版本打印相同的数字,但我仍然遍历中间的所有值。

    另外,如果您有一个需要迭代的数组: 将 800 替换为“array.length -1”
    要么 用“

    (而且还有很多变体)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-11-12
      • 2011-05-28
      • 2010-10-06
      • 2016-02-15
      • 2011-01-15
      • 2010-12-16
      • 1970-01-01
      • 2022-08-20
      相关资源
      最近更新 更多