打印数字并选择右侧进行循环



问题是:编写一个方法,该方法传递一个int n并返回一个从n递减到1的String。ExcountDown(3)打印321

我的代码是:

public class CountDown {
public static void main(String[] args) {
for(int n = n; n> 0; n--;) {
System.out.println("i=" + i);
}
}
}

我是一个编码初学者,但我不知道如何解决这个问题。我认为我的for循环是错误的。

在您当前的尝试中,您没有声明n变量,然后在for循环中重新声明它,这是不允许的。

您应该声明一个新的countDown(int)方法,然后使用whilefor循环。它可能看起来像:

public static void main(String[] args) {
System.out.println(countDown(3));
}
private static String countDown(int n) {
StringBuilder builder = new StringBuilder();
while (n > 0) {
builder.append(n);
n--;
}
return builder.toString();
}

在for循环(n(中声明的变量与打印的变量(i(不同,声明时将n分配给n。你需要这样做才能让它发挥作用:

  • 将for循环中变量的值从n更改为i,或者打印出n而不是i

  • 将变量的声明更改为不将其分配给自身

这里有一种方法:

public class CountDown {
public static void main(String[] args) {
for(int i = 5; i > 0; i--;) {
System.out.println("i=" + i);
}
}
}

这将是输出:

i=5
i=4
i=3
i=2
i=1

最新更新