所以当'r'参数为整数5(预期输出)时,我想打印如下内容:
0 5
1 4
2 3
3 2
4 1
5 0
这是我当前的代码:
public class RandomWalker {
public static void main(String[] args) {
int r = Integer.parseInt(args[0]);
for (int i = 0; i <= r; i++) {
for (int j = r; j >= 0; j--) {
System.out.println(i + " " + j);
}
}
}
}
我得到了这样的输出:
0 5
1 5
2 5
3 5
4 5
5 5
我知道我不能添加"break;"在"System.out"之后。Println (i + ";+ j);"线。为了产生预期的输出,我应该修改当前代码中的哪些内容?谢谢你!
不需要两个for循环。试试这个:
public class RandomWalker {
public static void main(String[] args) {
int r = Integer.parseInt(args[0]);
for (int i = 0; i <= r; i++) {
System.out.println(i + " " + r-i);
}
}
}
如果你想使用两个变量,那么你可以这样做:
public class RandomWalker {
public static void main(String[] args) {
int r = Integer.parseInt(args[0]);
int j = r;
for (int i = 0; i <= r; i++) {
System.out.println(i + " " + j);
j--;
}
}
}
您必须将两个循环合并为一个:
public class RandomWalker {
public static void main(String[] args) {
int r = Integer.parseInt(args[0]);
for (int i = 0, j = r; i <= r; i++, j--) {
System.out.println(i + " " + j);
}
}
}
尝试一个流:
IntStream.rangeClosed(r)
.mapToObj(n -> n + " " + (r - n))
.forEach(System.out::println);
我的java生锈了,但是像这样的东西应该可以工作:
public class RandomWalker {
public static void main(String[] args) {
int r = Integer.parseInt(args[0]);
String string ="";
for (int i = 0; i <= r; i++) {
string = i + " " + (r - i);
System.out.println(string);
}
}
}