Java实现图形打印

简介: Java实现图形打印

问题描述

Java学习当中,当我们熟练掌握了关于for循环的基础之后,就可以利用其来实现一个图形的打印,主要是利用“*”符号或者其他符号来进行图形的一个拼合,来呈现出一个完整图形样式。

解决方案

首先需要清楚,如果使用“*”符号来呈现一个图形,要呈现一个矩形样式,则直接打印i×j个“*”号即可;若需要打印三角形,则需要注意,有些部分需要以空格的形式打印输出;同理,也可以打印出圆形、心形或其他不规则图形。

需要注意的小技巧是,在Java当中,打印用System.out.println()会换行,用System.out.print()则不会换行,接下来进行几个简单的编程演示吧。

1、矩形

矩形打印需要用一个嵌套for循环来实现图形的长宽打印。外层for循环控制行数,内层for循环控制列数。其中小技巧是,打印时在内层不进行换行,外层进行换行。

public class juxing {

     public static void main(String[] args) {

         for(int j = 0;j < 5;j++){        //行数5

            for(int i = 0;i < 5;i++){   //列数5

                 System.out.print("*");

            }

            System.out.println();

         }

     }

}

2.1 矩形打印结果

2、三角形

三角形打印同样需要嵌套for循环,这里需要由空格来替换掉部分“*”号,因此在内层需要两个for循环来实现替换。这里若要实现正三角形,则可以用一个小技巧“* ”占两个字节。

public class triangle {

public static void main(String[] args) {

         for (int i = 0; i < 5; i++) {

            for (int j = 0; j < 5-i; j++)  {

                System.out.print("  ");

            }

            for (int k = 0; k < i; k++) {

                System.out.print("*  ");

            }

            System.out.println();

         }

     }

}

 

2.2 三角形打印结果

3、圆形

打印圆形必须要用到Java中的Math方法,其中Math.sqrt()计算平方根,Math.round()四舍五入取整。首先定义一个变量为圆形的半径r并赋值,可知圆心坐标为(r,r),勾股定理可知圆y = r -√(2*r*x-x*x)。

public class circle {

         //心形

         int r=10; 

 

         for (int y = 0; y <= 2 * r; y += 2) {

            int x = (int)Math.round(r -  Math.sqrt(2 * r * y - y * y));

            int len = 2 * (r - x);

 

            for (int i = 0; i <= x; i++) {

                System.out.print(' ');

            }

            System.out.print('*');

 

            for (int j = 0; j <= len; j++)  {

                System.out.print('*');

            }

            System.out.println('*');

 

         }

     }

}

2.3 圆形打印结果

结语

以上图形只是一些常见的基础图形打印,其实这里发散一下思维,可以打印任何自己想要呈现的图形,比如上次网络上很火的打印国旗图案,其实也能够在对图形进行简单构思后确定好点位打印出来。掌握了基础方法后,至于要去实现什么结果,因人而异,需要每个人的想象力。

目录
相关文章
|
3月前
|
Java API 容器
java的图形化界面编程AWT与Swing学习记录与分享(其一container容器)
java的图形化界面编程AWT与Swing学习记录与分享(其一container容器)
87 0
|
3月前
|
Java 容器
idea中关于java的图形化界面编程awt_container容器中Button(按钮)上汉字是乱码或者小方框的解决方法
idea中关于java的图形化界面编程awt_container容器中Button(按钮)上汉字是乱码或者小方框的解决方法
99 0
|
2月前
|
Java 数据安全/隐私保护
利用Java图形化界面组件Swing写一个简易的登录界面
利用Java图形化界面组件Swing写一个简易的登录界面
37 1
|
1月前
|
Java 容器
Java详解:GUI图形用户界面设计—容器组件及面板布局方式
Java详解:GUI图形用户界面设计—容器组件及面板布局方式
|
2月前
|
前端开发 Java UED
Java中的图形用户界面编程:Swing与JavaFX的比较与应用
Java中的图形用户界面编程:Swing与JavaFX的比较与应用
|
2月前
|
数据可视化 前端开发 Java
Java中的图形用户界面开发
Java中的图形用户界面开发
|
2月前
|
Java Python
分别使用python和java编写金字塔图形
分别使用python和java编写金字塔图形
13 0
|
3月前
|
设计模式 自然语言处理 前端开发
JAVA图形用户界面
JAVA图形用户界面
|
3月前
|
前端开发 Java 程序员
【JAVA】<GUI编程>AWT & Swing 图形化编程库
【1月更文挑战第19天】【JAVA】<GUI编程>AWT & Swing 图形化编程库
|
10月前
|
Java
Java生成图形验证码
Java生成图形验证码
325 3