*
* *
* *
* *
* *
* *
*
如图为7行的空心菱形图案,刚开始学习 JAVA 看起来有点小困难,其实主要逻辑在于寻找每一行的空格和每一行的关系,什么时候打印星号,什么时候打印空格,编写一个函数打印任意行数的菱形,做该题的时候可以根据这个图的例子寻找数字规律,本人代码如下:
public class Example {
public static void main(String[] args) {
Printle(7);
}
public static void Printle(int size){
if(size % 2 == 0){
size ++;
}
//打印上半部分
for (int i = 0; i < size/2 + 1; i++) {
for (int j = 0; j < size/2 - i; j++) {
System.out.print(" "); // 打印左上角上的空格
}
for (int j = 0; j <= i*2; j++) {
if(j==0 || j == 2*i)//打印每行俩测的星号
System.out.print("*");
else//打印俩个星号中间的空格
System.out.print(" ");
}
System.out.println();
}
//打印下半部分
for (int i = 1; i <= size/2; i++) {
for (int j = 0; j < i; j++) {
System.out.print(" ");
}
for(int j = 1; j <= size - 2*i ; j++){
if(j==1 || j== size - 2*i)
System.out.print("*");
else
System.out.print(" ");
}
System.out.println();
}
}
}