Scanner x = new Scanner (System.in);
int rjbnum1;
System.out.print("The Input is: ");
rjbnum1=x.nextInt();
for (int i = rjbnum1; i > 0; i--) {
for (int j = 0; j < i; j++) {
System.out.print("\t"+ i);
}
System.out.println();
}
}
}
我很难用这个哦:&#39;(我需要帮助我的输出
5 5 5 5 5
4 4 4 4
3 3 3
2 2
1
但我希望我的输出为&lt;
5
4 4
3 3 3
2 2 2 2
1 1 1 1 1
但是我的逻辑大脑出了问题哈哈哈,我花了3个小时尝试这个。
答案 0 :(得分:1)
int rjbnum1 = 5;
for (int i = rjbnum1; i > 0; i--) {
for (int j = 1; j <= rjbnum1; j++) {
if (j >= i) {
System.out.print("\t" + i);
} else {
System.out.print("\t");
}
}
System.out.println();
}
<强>输出强>
5
4 4
3 3 3
2 2 2 2
1 1 1 1 1
答案 1 :(得分:1)
在两个for循环之后添加if条件。 if条件应检查内循环中j的值是否大于或等于外循环的i值,然后在if条件内打印i的值。
答案 2 :(得分:0)
您可以使用String.format
例如使用这段代码:
int n = 5;
String str;
for (int i = n; i >= 1; i--) {
str = String.format("%0" + (n-i+1) + "d", 0).replace("0", i+"");
System.out.println(String.format("%1$" + n + "s", str));
}
<强>输出强>
5
44
333
2222
11111
答案 3 :(得分:0)
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.print("The Input is: ");
int rjbnum1=scan.nextInt();
for (int x = 1; x <= rjbnum1; x++)
{
System.out.println();
for(int i = x;i<rjbnum1; i++)
System.out.print(" ");
for (int j = 0; j < x; j++)
System.out.print(x);
}
}}
<强>输出强> &#39;输入为:6
1
22
333
4444
55555
666666