黑马程序员技术交流社区
标题:
新人,写了一个打印棱形的案列,比较繁琐,求简化
[打印本页]
作者:
江江会回来的
时间:
2015-9-18 00:12
标题:
新人,写了一个打印棱形的案列,比较繁琐,求简化
/**
* 题目:打印出如下图案(菱形)
* *
* ***
* *****
* *******
* *****
* ***
* *
* 1.程序分析:先把图形分成两部分来看待,前四行一个规律,后三行一个规律,利用双重 for循环,第一层控制
* 行,第二层控制列。
*/
package prictice;
import java.util.Scanner;
public class PrintXing {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
for (int i = 0; i < (num + 1) / 2; i++) {
for (int j = 0; j <= num / 2 - i; j++) {
System.out.print(" ");
}
for (int j = 0; j < 2 * i + 1; j++) {
if (j == 0 || j == 2 * i) {
System.out.print("*");
} else {
System.out.print(" ");
}
}
System.out.println();
}
for (int i = num / 2; i > 0; i--) {
for (int j = 0; j < num / 2 + 2 - i; j++) {
System.out.print(" ");
}
for (int j = 0; j < 2 * i - 1; j++) {
if (j == 0 || j == 2 * i - 2) {
System.out.print("*");
} else {
System.out.print(" ");
}
}
System.out.println();
}
}
}
-----------------------------------------
控制台随机输入一个数字,例如11(由于发帖这里行间距不一样,打印的图形比较奇怪)
11
*
* *
* *
* *
* *
* *
* *
* *
* *
* *
*
作者:
一枝梨花压海棠
时间:
2015-9-22 00:09
兄弟,这个真不错,以前我也下过,一直比较繁琐
作者:
sunsteam
时间:
2015-9-22 00:33
可以用字符数组
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2