您的位置 首页 java

每天猿见一道Java编程题:菱形还可以这样玩

题目:打印出如下图案(菱形,有点错位)

*

***

*****

*******

*********

*******

*****

***

*

程序分析:先把图形分成两部分来看待,前五行一个规律逐行增加,分别为1、3、5、7、9,后四行一个规律逐行减少,分别为7、5、3、1,这是一个奇数数列,每一行的星号+空格的个数为10位。

从给出的图案可以看出每一行中间位置的“*”都是在第5位,(在数组中则下标为4),开始打印星号的位置跟中点有关系,只看上部分(行号-星号开始的下标), 1—5-1=4,2—5-2=3,3—5-3=2,4—5-4=1,5—5-5=0 。下半部分则跟所在行有关(行号-星号开始的下标), 1-1,2-2,3-3,4-4。

利用双重 for循环 ,第一层控制行,第二层控制列,并将上下两部分分开来处理。

public class YuanJian {
/*******15.菱形可以这样玩**************/public static void main(String[] args){
int n = 5; //设置上半部分菱形的行数
printStar(n); //调用输出方法
}
//打印星星
private static void printStar(int n){
//打印上半部分
for(int i=0;i<n;i++){
for(int j=0;j<2*n;j++){
if(j<n-i)
System.out.print(" ");
if(j>=n-i && j<=n+i)
System.out.print("*");
}
System.out.println();
}
//打印下半部分
for(int i=1;i<n;i++){
System.out.print(" ");
for(int j=0;j<2*n-i;j++){
if(j<i)
System.out.print(" ");
if(j>=i && j<2*n-i-1)
System.out.print("*");
}
System.out.println();
}
}
}
 

代码示例:

运行示例:

学会了吗?赶紧试一试吧!

文章来源:智云一二三科技

文章标题:每天猿见一道Java编程题:菱形还可以这样玩

文章地址:https://www.zhihuclub.com/175264.shtml

关于作者: 智云科技

热门文章

网站地图