我需要根据用户输入的许多行在java中创建这些模式:
1
12
123
1234
12345
54321
4321
321
21
1
1
21
321
4321
54321
我可以做前两个但我不能做第三个 以下是第二个代码:
public static void displayPatternII (int lines) {
for (int i = 1; i <= lines; i++){
for (int j = lines + 1 - i; j > 0; j--)
System.out.print (j + " ");
System.out.println();
}
}
答案 0 :(得分:3)
public static void displayPatternIII (int lines) {
for (int i = 1; i <= lines; i++){
System.out.print(" ");
for (int j = lines; j > 0; j--)
System.out.print (j > i ? " " : j);
System.out.println();
}
}
答案 1 :(得分:0)
我会看Formatter而不是手动尝试填充空格。我也同意你的信息有点令人困惑......
答案 2 :(得分:0)
我不会给你答案,但我会告诉你必须做些什么。
让我们来看看
1
12
123
1234
12345
从1到特定数字(来自用户或其他)(让我们称之为最大值) 您将所有数字从1打印到当前索引
54321
4321
321
21
1
与上面相同,但你向后循环
1
21
321
4321
54321
从1到最大 打印n + 1个空格,其中n是最大值和当前索引之间的差值
答案 3 :(得分:0)
由于它看起来像家庭作业,我会给你一个解决方案,我怀疑你可以提交给你一些想法。 ;)
public static void main(String... args) {
displayPatternIII(5);
}
public static void displayPatternIII(int lines) {
int cols = lines + 2;
for (int i = 0; i < cols * lines; i++) {
int x = i % cols;
int y = i / cols;
if (x == lines + 1)
System.out.println();
else if (x + y < lines)
System.out.print(' ');
else
System.out.print(cols - x - 1);
}
}
打印
1
21
321
4321
54321
答案 4 :(得分:0)
class Series
{
public static void main()
{
int i,j,k;
for(i=1;i<=5;i++)
{
for(j=5;j>=i;j--)
System.out.print(" ");
for(k=i;k>=1;k--)
System.out.print(k);
System.out.println();
}
}
}
答案 5 :(得分:0)
点击此处可了解更多信息 Java Number Pattern
public class Program {
public static void main(String[] args) {
//declare the size
//change the size
int size = 5;
//use two loops
//outer loop to set the number of iterations i.e size
for(int i=1; i<=size; i++){
//use inner loop with a limit
for(int j=1; j<=i; j++){
System.out.print(""+j);
}
//use print statement with println to print in next line
System.out.println("");
}
//run the program
}
}