主要问题:输出中存在额外空格
我希望我的代码从我记下的输入中打印出数字的步骤。我的主要问题是空白。我需要输出在一开始就少一个空格。
从我的 System.out.print() 中删除“”; 改变循环 反转循环 分割
import java.util.Scanner;
public class PatternTwo {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("Please enter a number 1...9 : ");
int num = scan.nextInt();
for(int i = 1; i <= num; ++i) {
for(int j=2*(num-i); j>=0; j--)
{
if (num <= 1)
System.out.print("");
else if (num > 1)
System.out.print(" ");
}
for(int j = i; j >= 1; --j) {
System.out.print(" " + j);
}
System.out.println();
}
}
}
}```
I would like the result to be
Please enter a number 1...9 : 2
1
2
Instead of:
Please enter a number 1...9 : 2
1
2
最佳答案
这里有两个问题:
j >= 0
应更改为j > 0
当
j == i
时应避免打印空格
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("Please enter a number 1...9 :");
int num = scan.nextInt();
scan.close();
for (int i = 1; i <= num; i++) {
for (int j = 2*(num-i); j > 0; j--)
if (num > 1)
System.out.print(" ");
for (int j = i; j >= 1; j--) {
if (j != i)
System.out.print(" ");
System.out.print(j);
}
System.out.println();
}
}
我收到以下输出:num = 5
:
Please enter a number 1...9 :
5
1
2 1
3 2 1
4 3 2 1
5 4 3 2 1
关于java - 如何让我的代码失去开头的空格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58385164/