【问题标题】:Java 'while loop' variable declared in parameter list在参数列表中声明的 Java 'while 循环'变量
【发布时间】:2020-11-17 16:47:25
【问题描述】:

如果变量是在方法参数列表中声明的,我应该在“while 循环”括号内写什么?目标是根据给定的“x”数量连续打印出“+”。例如,runLoop(3) 将显示“+++”。

到目前为止我尝试过的所有解决方案都会导致无限循环。

编辑:感谢您的所有回答!

public static void runLoop(int x){
     
    while(**???**){
        System.out.print("+");
        x++;
    }
}

【问题讨论】:

  • 那要看你的要求了,不过好像没什么意义。
  • 没错!我们只需要完成代码的while循环部分,而不需要删除它现在所在的声明变量。 “x”的数量可以是任何东西
  • 如果要循环次数等于参数值,循环次数不知道,应该一直循环直到循环计数器等于参数值(包括与否,这取决于你在循环内做什么)。因此,您可能不想像现在那样增加参数,因为如果该参数也是循环终止条件的一部分,那将导致无限循环。
  • 正如@JustAnotherDeveloper 所说,这个数字不是未知数,这就是让你的问题“奇怪”的原因。我会给你一个提示:你不应该在那个循环中增加 x 。你觉得你应该怎么做?
  • @Stultuske 就是这样,一旦满足条件,我知道如何停止循环。我试过 while(true)、while(x) 和 while(x==x),但都是无限的。我不能做 while(x

标签: java while-loop


【解决方案1】:

试试这样的:----

public static void runLoop(int x){
     
    while(x>0){
        System.out.print("+");
        x--;
    }
  System.out.println("");
}

【讨论】:

  • 有效!但是你能解释一下怎么做吗? x-- 是如何工作的?
  • 嘿,它在java中称为后减量。与 x=x-1 相同(第一次赋值 n 后减 1)
【解决方案2】:

当 x 大于零时循环,您需要在循环内将 x++ 更改为 x--

while(x>0){
    System.out.print("+");
    x--;
}

【讨论】:

  • 有效!但是你能解释一下怎么做吗? x-- 是如何工作的?
  • @MANn x--x = x - 1 相同。
【解决方案3】:

您可以使用 post-decrement 将 x 的值减少 1,并检查它是否小于 0,如果 true 然后执行 while 循环的主体

public static void runLoop(int x){
    while(x-- > 0){
        System.out.print("+");
    }
}

【讨论】:

    猜你喜欢
    • 2011-12-23
    • 1970-01-01
    • 2011-05-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-10
    • 1970-01-01
    • 2017-07-20
    相关资源
    最近更新 更多