创建一个要求用户输入数字的类,然后根据int输入输出以下模式。
所以我生成的代码看起来像这样...
12345
1234
123
12
但是它应该看起来像这样
5
45
345
2345
12345
Scanner tri = new Scanner(System.in);
System.out.println("Enter a postive integer.");
int shape = tri.nextInt();
for(int c = shape; c > 1; --c){
for (int a = 1; a <= shape-c; a++){
System.out.print(" ");
}
for(int d = 1; d <= c; d++){
System.out.print(d);
}
System.out.println(" ");
答案 0 :(得分:1)
您可以在下面尝试此代码吗?
Scanner tri = new Scanner(System.in);
System.out.println("Enter a postive integer.");
int shape = tri.nextInt();
for (int c = shape; c >= 1; --c) {
for (int a = 1; a <= c; a++) {
System.out.print(" ");
}
for (int d = c; d <= shape; d++) {
System.out.print(d);
}
System.out.println(" ");
}
// result
// 5
// 45
// 345
// 2345
// 12345
答案 1 :(得分:0)
可以使用一些填充而不是使用嵌套循环。基本上,您需要一个仅由空格组成且长度与数字位数相同的字符串。
在一个循环中,获取数字的子字符串,然后用空格填充其余部分。 我的代码:
public static void pattern(int number)
{
String s=Integer.toString(number);
String padding="";
for(int i=0;i<s.length();i++,padding+=" ");
for(int i=1;i<=s.length();i++)
{
System.out.println(padding.substring(i)+s.substring(s.length()-i));
}
}