怎么去实现这个图形?

来源:百度知道 编辑:UC知道 时间:2024/05/09 11:01:38
程序的结果是这样的:
1
222
33333
4444444
33333
222
1
一下是我实现的代码,我想问一下,怎么又没有更简单的方法?
public class TestPrint {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
for(int i=1;i<=7;i++){
if(i<=4){
for(int j=0;j<4-i;j++){
System.out.print(" ");
}
for(int k=1;k<=2*i-1;k++){
System.out.print(i);

}
}else{
for(int j=0;j<i-4;j++){
System.out.print(" ");
}
for(int k=1;k<=(8-i)*2-1;k++){
/*我一直都在想这个k的条件判断,*/
System.out.print(8-i);
}
}
System.out.println();

}

}

}
不是这样的图形,弄错了!~
网页显示有问题,没办法弄图片上来,另问一下,1楼的,你用什么写的啊?getch()是什么方法?没有看到你的定义,C语言?printf()是打印,java中有这个??
我也想弄简单些,不是不会弄吗,好像最简单的就是2或3个循环就搞定了,以前见老师写过,可是现在忘了,

MaxNumber = 4
FOR i = 1 To MaxNumber &&显示菱形的上半部
FOR j = 1 To MaxNumber - i &&产生前导空格
?? ' '
ENDFOR
FOR j = 1 To i * 2 - 1 &&产生数字字符
?? LTRIM(STR(i))
ENDFOR
? &&换行
ENDFOR

FOR i = MaxNumber - 1 To 1 Step -1 &&显示菱形的下半部
FOR j = 1 To MaxNumber - i
?? ' '
ENDFOR
FOR j = 1 To i * 2 - 1
?? LTRIM(STR(i))
ENDFOR
?
ENDFOR