Java金字塔输出
大家好,我正在尝试创建一个金字塔程序,要求用户输入1-15之间的整数。当我进入1-9时,它会形成一个完美的金字塔。但如果我输入10-15,中间的线就会向右移动,每个数字经过10就不再形成金字塔
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("Enter a number between 1-15");
int dig = input.nextInt();
for (int i = 1; i <= dig; i++) {
for (int j = 1; j <= dig - i; j++) {
System.out.print(" ");
}
for (int k = i; k >= 1; k--) {
System.out.print(" " + k);
}
for (int k = 2; k <= i; k++) {
System.out.print(" " + k);
}
System.out.println();
}
}
}
谢谢你的帮助
# 1 楼答案
给你:)
你必须计算最大数字的位数,然后在开始时创建更大的空格,但当两位数出现时,开始将它们变小
15年的产出:
# 2 楼答案
您仍然可以使用代码获得相同的结果,但不要使用print方法,而是使用以格式说明符作为第一个参数的printf方法
在这里,通过指定4个字符的固定宽度,打印出来的每个整数都会被额外的空格填充,因此可以补偿一个或两个字符长的整数
# 3 楼答案
5年的产出: