编写一个应用程序,要求用户输入一个数字。然后,您的程序将根据您输入的数字显示一个开始和结束的数字,并在右侧显示与您在左侧显示的数字相反的数字。
预期产量:
Enter a number: 5
1 5
2 4
3 3
4 2
5 1
我试着制作一个带有递增和递减数字的空心框,并将其他代码作为注解来尝试生成预期的输出。但我还是做不到。
import java.util.Scanner;
public class MyClass {
public static void main(String args[])
{
System.out.print("Enter a number: ");
Scanner input = new Scanner (System.in);
int num = input.nextInt();
System.out.print("\n");
for (int i = 0; i < num; ++i) {
for (int j = 0; j < num; ++j) {
if (i == 0) {
System.out.print((j + 1) + " ");
//} else if (i == num-1) {
System.out.print((num - j) + " ");
} else if (j == 0) {
System.out.print((i + 1) + " ");
//} else if (j == num-1) {
System.out.print((num - i) + " ");
//} else {
System.out.print(" ");
}
}
System.out.println();
}
}
}
2条答案
按热度按时间g9icjywg1#
因为这是家庭作业,所以我会给出指导而不是代码。
左边的列看起来很容易生成—一个简单的循环就可以了。
考虑左右数字之间的关系。注意,它们的总数总是6,或者更一般地说
n + 1
. 右边的这列可以通过减去i
从n + 1
,在哪里i
是左列值。pzfprimi2#
你想得太多了(;->)。没那么复杂。
有一种可能的方法:
还有一个: