问题是:编写一个方法,该方法传递一个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)
方法,然后使用while
或for
循环。它可能看起来像:
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