黑马程序员技术交流社区
标题:
如何在控制台输入一个菱形
[打印本页]
作者:
Toxicant
时间:
2016-9-11 22:58
标题:
如何在控制台输入一个菱形
如何在控制台输入一个高为9,宽为5的菱形
作者:
a1029612664
时间:
2016-9-12 10:47
高为9宽为五这个不知道怎么画的,俺这个是高为9宽为9的菱形
public class LingXing {
public static void main(String[] args) {
int size=5;
for(int i=1; i<=size; i++){
for(int j=i;j<size;j++){
System.out.print(" ");
}
for(int k=1;k<=i*2-1;k++){
System.out.print("*");
}
System.out.println();
}
for(int i=size-1;i>=1;i--){
for(int j=1;j<=size-i;j++){
System.out.print(" ");
}
for(int k=i*2-1;k>=1;k--){
System.out.print("*");
}
System.out.println();
}
}
}
结果是这样的:
*
***
*****
*******
*********
*******
*****
***
*
作者:
9527个人
时间:
2016-9-12 14:06
可以先画出来,再观察每行的*和空格的数量,你会发现其规律的
作者:
Toxicant
时间:
2016-9-12 22:24
输入菱形的上半部分
for (int i = 5; i >0; i--) {
// 先打印空格,依次减少空格的打印
for (int j = 5-i; j < 5; j++) {
System.out.print(" ");
}
// 在空格的后面打印左半部分"*",依次增加"*"的打印
for (int k = 0; k < 5 - i+1; k++) {
System.out.print("*");
}
// 打印右半部分的"*",依次增加"*"的打印
for (int j = 0; j < 5-i; j++) {
System.out.print("*");
}
// 每次循环打印后都要换行
System.out.println();
}
// 输入菱形的下半部分
for (int i = 0; i < 5; i++) {
// 打印空格从零个空格打印依次增加
for (int j = i+2; j>0; j--) {
System.out.print(" ");
}
// 打印左半部分的"*",依次减少"*"的打印
for (int j = 0; j <4-i; j++) {
System.out.print("*");
}
// 打印右半部分的"*",依次减少"*"的打印
for (int j = 0; j <3-i; j++) {
System.out.print("*");
}
System.out.println();
}
自己的思路做的
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2