本帖最后由 黑马-王言龙 于 2012-7-18 17:35 编辑
*98765432123456789*
98765432123456789
876543212345678
7654321234567
65432123456
543212345
4321234
32123
212
1
*需求:打印一个10行的三角形,大于9的数用“*”代替
*思路:将此三角形扩展为矩形,先打印最左边的空白位,
* 再打印中间的倒直角三角形,最后打印右边的倒直角三角形。
* 用for循环嵌套,外循环控制行,内部多个循环控制每行上的元素输出
*/
打印倒的比正的麻烦了一点.
下面是我写的程序,有没有比这简单的分享一下?
public static void drawSanJiaoXing(int num) { //可以打印任意行数的倒三角形
int left = num;
int right = num;
for(int i=1; i<=num; i++) { //控制行数
for(int j=1; j<i; j++) { //打印空格
System.out.print(" ");
}
for(int j=left--; j>=1; j--) { //打印左边三角形
if(j>9) {
System.out.print("*");
}
else System.out.print(j);
}
for(int j=2; j<=right; j++) { //打印右边三角形
if(j>9) {
System.out.print("*");
}
else System.out.print(j);
}
right--;
System.out.println();
}
} |