您的位置 首页 java

三角形的星星你见过了,那你见过菱形的星星吗?

哈喽大家好,这里是 java 小编成长记!

昨天分享了如何输出小星星,昨天的小星星是呈三角形状的,用了三个for循环搞定了,今天分享的是“菱形小星星”,也就是这样的:

三角形的星星你见过了,那你见过菱形的星星吗?

比“三角小星星”好看一些,自然也要复杂一点,这个是怎么做的呢?我们一起来研究一下。

和昨天一样,我们先用一个小的来研究分析,如下所示:

三角形的星星你见过了,那你见过菱形的星星吗?

我把整体分为了两部分,前五行是一部分,后四行是一部分。为什么要这样做?因为这样前五行就和昨天的一模一样了,我们就可以直接从第二部分开始写代码,写完加到昨天的后面就可以了,第一部分不清楚的,欢迎查看我昨天的分享,这里就不多赘述了。

第二部分的思路和昨天一模一样,我们依旧使用for循环的嵌套,同样的需要使用三个。(这里我一直在使用for循环,所以感觉有点多,其实可以使用一些别的 循环语句 ,但是我一个都没分享,所以我就不用了,等过两天讲了其他的循环语句,我们再提一下。)

首先第一个for循环:控制行数,和昨天一模一样。一共四行,for循环最后换行,今天我们不用++用–,定义一个变量a=4,当a>=1时,换行,所以第一个代码就出来了:

for(int a= 4;a>=1;a–){

java语句;

System.out.ptintln();

}

第二个for循环:第二个fo循环是输出空格的,我们看可以看到,有第几行就输出几个空格,但是我们刚才让a的初始值为4,而不是1,这样是不是有点麻烦了?这该怎么弄?其实一样的,我们定义一个变量b,让b的初始值也为4,当b>=a的时候,就输出空格,b–。我们带值进去看看对不对:当a=4的时候,b=4,输出一个空格;当a=3的时候,b的初始值还是4,输出一个空格,b–,b变为3,再输出一个空格,一共两个空格,第二行本来就是两个空格,所以写的是对的。第二个循环代码:

for (int b=4;b>=a;b–){

Sysyem.out.print(” “)

}

第三个for循环:我们看一下星星的规律,行数与星星的关系分别对应的是:1和7,2和5,3和3,4和1。其实也就是把奇数列倒过来了。第一行要输出7个星星,我们刚才a的初始值定义为4,刚好2*4-1=7.这也就是我为什么把a的初始值定义为4的原因,这样方便了许多。所以我们再定义一个变量c,把c的初始值定为1,当c<=2*a-1的时候,就输出空格,然后c++。代码如下:

for(int c=1;c<=2*a-1;c++){

System.out.print(“*”);

}

这样第二部分的代码也完成了,整体代码如下:

三角形的星星你见过了,那你见过菱形的星星吗?

同样,我们不能只满足输出四行星星,昨天我们输出第一部分的五行星星,定义了一个变量x接收用户在DOS命令窗口输入的数字,然后就把代码中所有的5改成了x,现在是4行,所以我们再把所有的4改成x-1,这样就和第一部分完美联合起来了。

两部分整体代码如下:

三角形的星星你见过了,那你见过菱形的星星吗?

我们去运行看看效果:

三角形的星星你见过了,那你见过菱形的星星吗?

运行结果是没有问题的,大家看,我输入了7,但是星星一共有13行,因为这个7指的是第一部分的行数。如果想要输入几就输出几行星星,我们需要再改一下代码。

首先我们可以肯定输出星星的行数一定是个奇数。因为第一部分会比第二部分多一行,所以我们先把提示用户输入信息中的正整数改成正奇数,告诉用户必须输入一个正奇数。第一部分的行数,就等于总行数加1再除以2,比如上图7=(13+1)/2。同理,第二部分的行数,就等于总行数-1再除以2

比如6=(13-1)/2。方法明白了,代码中怎么改呢?其实就是把第一部分的x改成(x+1)/2,把第二部分的x-1改成(x-1)/2。改完后接代码如图:

三角形的星星你见过了,那你见过菱形的星星吗?

我们再来看一下现在的运行结果:

三角形的星星你见过了,那你见过菱形的星星吗?

可以看到,现在输入一个数字7,就会输出7行的星星。这样我们今天的内容也就结束了。


我突然想到代码中的变量这么多,不知道大家懵不懵。首先我承认我变量命名的方法不好,java中要求变量的名字要“见名知意”,也就是看到变量名就知道这个变量是干什么用的,而且首字母要小写,后面每个单词大写。我这里就不改了,我以后多注意,现在我总结一下代码中的变量都是干嘛的:

s 用来存放用户输入的数字;

x 就是用户输入的数字;

i 第一部分控制行数

j 第一部分输出空格

n 第一部分输出星星

a 第二部分控制行数

b 第二部分输出空格

c 第二部分输出星星

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

文章标题:三角形的星星你见过了,那你见过菱形的星星吗?

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

关于作者: 智云科技

热门文章

网站地图