大家好,今天小编关注到一个比较有意思的话题,就是关于java语言做一个菱形的问题,于是小编就整理了2个相关介绍Java语言做一个菱形的解答,让我们一起看看吧。
如何用c语言for循环打出一个空心菱形?
我是码中寻乐,科技领域创作者,很高兴能为你解答。
代码截图:
运行效果截图:
代码:
void print_polygon(int rows)
{
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提供了打印接口Printable,你需要这个接口,接口的回调方法print中的Graphics参数,你可以理解为给你的画布,在其中,你可以使用java.awt包的各种绘制对象(brush,color,font,image等)来绘制你需要的内容。然后再加入到printjob中,最后调用job的print方法就可以输出到打印设备了。
这部分JAVA抽象了操作系统的打印逻辑,其实调用的方式方法与win32sdk的也差不多。
到此,以上就是小编对于java语言做一个菱形的问题就介绍到这了,希望介绍关于java语言做一个菱形的2点解答对大家有用。