大家好,今天小编关注到一个比较有意思的话题,就是关于java语言写一个循环程序的问题,于是小编就整理了1个相关介绍JAVA语言写一个循环程序的解答,让我们一起看看吧。
如何用c语言for循环打出一个空心菱形?
代码截图:
运行效果截图:
代码:
{
if (rows % 2 == 0)
rows++;
画图画图(不画图难以会意)。下面是一个草图😁(找了个在线白板画的,漂亮吧~^(* ̄(oo) ̄)^)。
如图所示,***设要画一个规格为2a*2b的◇。a,b分别为对应方向的中心位置。不难看出,程序一共需要打印2b+1行,2a+1列(因为第0行0列也是需要打印的,但是程序是从0开始计数的,因此最后的行列下标就是2a和2b,2a+1和2b+1是数量)。
程序打印通常会使用空格和*作为打印菱形的字符,由于基本的输出单位是字符(相当于菱形内的所有角的大小是固定的,不论多么大的菱形都是相似的),所以2a和2b会相互制约。我想打印一个10*50的菱形时,当打印到第5行是就已经从横向偏移量为0的位置开始打印了,第6行将会从-1列开始打印,这样打印出的图案将会是一个不完成的菱形,如下图,虚线部分将不会被打印。
程序以行为输出,因此我们不在控制y轴,只通过控制x轴方向的a来控制菱形的大小。我们不妨来归纳一下打印的规则:
第0行需要打印a个空格、打印一个*、换行。
第1行需要打印a-1个空格、打印1个*、打印1个空格、打印1个*、换行。
第2行需要打印a-2个空格、打印1个*、打印3个空格、打印1个*、换行。
第3行需要打印a-3个空格、打印1个*、打印5个空格、打印1个*、换行。
到此,以上就是小编对于JAVA语言写一个循环程序的问题就介绍到这了,希望介绍关于JAVA语言写一个循环程序的1点解答对大家有用。