【问题标题】:Addition operator inside a while loop (Java)while循环内的加法运算符(Java)
【发布时间】:2014-01-30 01:09:49
【问题描述】:

刚开始学习Java,遇到以下问题。

我需要关于我在 while 循环中的这个 for 循环的帮助。

while (difference > epsilon) {
    for (int u = 0; u <= N, u++) {
        for (int d = 0; d <= N, d++) {
            formulaLong += Math.pow(E, -rT) * Math.pow(0.5, N) * productofVC[u][d];
        }
    }
}

每次while循环运行时,变量formulaLong从上一个while循环加到上一个公式Long中。我该如何编写代码,以便formulaLong 只为我提供当前 while 循环的公式?

【问题讨论】:

  • 只需在循环开始或结束时将formulaLong 重置为零。
  • 我该怎么做?抱歉我刚开始学习java
  • 不要重置相同的变量,只需在while循环中声明变量inside,如while ( .. ) { double formulaLong = 0; .. }。这个新变量(已经分配了一个很好的默认值)通过限制变量范围来区分每个循环和助手(或者我发现)代码可读性。
  • 您可能希望在将其重置为零之前包含 does 的值 formulaLong

标签: java loops for-loop while-loop addition


【解决方案1】:

只需添加这一行..我从你的问题中了解到!!

while(difference > epsilon){
 for (int u = 0; u <= N, u++){
  for (int d = 0; d <= N, d++){
   formulaLong += Math.pow(E, -rT)*Math.pow(0.5, N)*productofVC[u][d];
  }
 }
 formulaLong = 0; // so you reset the value after the for loop
}

【讨论】:

    【解决方案2】:

    可以像这样在你的顶部 for 循环上方重新初始化:

    while(difference > epsilon){
      formulaLong = 0;//reset
      for (int u = 0; u <= N, u++){
         for (int d = 0; d <= N, d++){
             formulaLong += Math.pow(E, -rT)*Math.pow(0.5, N)*productofVC[u][d];
         }
      }
    }
    

    不确定您的 while 循环将如何停止。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-06-06
      • 1970-01-01
      • 2018-07-12
      • 1970-01-01
      • 2022-01-04
      • 1970-01-01
      • 2021-10-19
      • 1970-01-01
      相关资源
      最近更新 更多