Java 实例 – 打印菱形

输出指定行数的菱形。

package com.example.yan.java打印图形;public class Main {public static void main(String[] args) {print(8); // 输出 8 行的菱形}public static void print(int size) {if (size % 2 == 0) {size++; // 计算菱形大小}for (int i = 0; i < size / 2 + 1; i++) {for (int j = size / 2 + 1; j > i + 1; j--) {System.out.print(" "); // 输出左上角位置的空白}for (int j = 0; j < 2 * i + 1; j++) {System.out.print("*"); // 输出菱形上半部边缘}System.out.println(); // 换行}for (int i = size / 2 + 1; i < size; i++) {for (int j = 0; j < i - size / 2; j++) {System.out.print(" "); // 输出菱形左下角空白}for (int j = 0; j < 2 * size - 1 - 2 * i; j++) {System.out.print("*"); // 输出菱形下半部边缘}System.out.println(); // 换行}}
}

手动输入展示图片

public static void main(String[] args) {while (true){Scanner scanner = new Scanner(System.in);System.out.println("************请输入菱形的数目************");String n = scanner.nextLine();System.out.println("打印的图形如下================");print(Integer.valueOf(n));}}public static void print(int n){if (n % 2 == 0) {n++;//计算菱形的行数}for (int i = 0; i < n; i++){int start;//第i行开始画菱形的下标int end;//第i行结束画菱形的下标if (i <= n/2){//计算递增部分开始结束下标start = n/2-i;end = n/2+i;}else {//计算递减部分开始结束下标start = n/2 - (n-1-i);end = n/2 + (n-1-i);}int count = 0;for (int j =0; j<n;j++){if (j>=start && j<=end){//开始结束之间即画图部分System.out.print("*");count++;if (count == end - start +1){break;}}else {System.out.print(" ");}}System.out.println();}}

Java 实例 – 九九乘法表

输出九九乘法表。

public class MultiplicationTable {public static void main(String[] args) {for(int i=1;i<=9;i++) {for(int j=1;j<=i;j++) {System.out.print(j+"×"+i+"="+i*j+"\t");// \t 跳到下一个TAB位置}System.out.println();}}
}

Java 实例 – 打印三角形

首先,确定我们的输出结果是:


那么我们怎么才能做到这样呢?

1、首先分析图形的结构

我们可以看到,图形共5行,那么,我们是否可以建立一个for循环语句,使其控制在5行?答案是肯定的。

for(int i = 1 ;i <= 5 ;i++ ){}

这样,我们就建立了一个循环5次的for循环代码块,为最外圈的循环。

2、然后,分析图形是怎样构成的,我们可以把图形拆分为以下几部分:

图片说明

我们可以把图形拆分为这样三个三角形。

3、建立1号空白三角形

可以看,第一行是输出4个空格,第二行输出3个空格,第三行输出2个,第四行输出1个,第五行没有

从这个规律可以看出,是依次递减的规律,那么如何实现呢?

我们可以想象从1到5,中间有四个数字;从2到5中间有3个数字,从3到5……

是不是可以利用这个原理呢?答案是当然的。那么如何实现?请看代码:

for(int i = 1;i<=5 ;i++) {for(int j = 5; j >= i ; j--)//建立1号图形System.out.print(" ");System.out.println();
}

第一个for语句就是刚才定义的五次循环语句

第二个for循环,我们来进行解析:

首先 定义一个int类型的j变量,给j赋值为5

然后我们想,既然要缩短距离,那么每次循环j就-1,那么刚好符合我们的要求:

第一次大循环 i=1,j=5, 所以符合j>=i的条件然后输出一个空格,然后j-1,现在j的值为4符合j>=i,再输出

……

一直到j=0,j>=i不符合,跳出内循环

现在到System.out.println(); 换行

现在回到外循环 i++ ,i变成2,符合i<=5,进入内循环

定义j=5 , j>=i,符合,输出一个空格,j-1

j现在为4 ,j>=i,符合,输出一个空额,j-1

……

一直到j=1,j>=i,不成立,跳出内训还,然后换行

然后i+1 然后再进入内循环……

如此循环下去 形成了一个四行的倒三角,1号图案形成。

4、建立2号图形,和1号图形原理完全相同,不过正好相反

for(int i = 1 ;i<=5 ;i++){for(int j = 5; j >= i ; j--)//建立1号图形System.out.print(" ");for(int j = 1; j <= i; j++)//建立2号图形System.out.print("*");System.out.println();
}

如建立1号图形相同,大家可以自己理解,如此2号建立

5、建立3号图形

for(int i = 1; i <= 5; i++){for(int j = 5 ;i <= j; j--)//建立1号图形System.out.print(" ");for(int j = 1; j <= i; j++)//建立2号图形System.out.print("*");for(int j = 1; j < i; j ++)//建立3号图形System.out.print("*");}

同样,如同1号二号相同,建立3号图形原理相同

但是大家注意一点,3号图形没有在第一行输出,所以要在第一次大循环中掐断它,让它在第二次大循环中输出

所以 这次的判断条件为 j < i 去掉了等于。

class Demo{public static void main(String[] args){for(int i=1;i<=5;i++){for(int j=5; i<=j; j--)System.out.print(" ");for(int j=1; j<=i; j++)System.out.print("*");for(int j=1; j<i; j++)System.out.print("*");System.out.println();}}
}

Java 实例 – 打印倒立的三角形

打印倒立的三角形。

package com.example.yan.java打印图形;public class Main3 {public static void main(String[] args) {//打印倒立的三角形for (int m = 1; m <= 4; m++) {//打印空格for (int n = 0; n <= m; n++) {System.out.print(" ");}//打印*for (int x = 1; x <= 7 -2 * (m - 1); x++) {System.out.print("*");}System.out.println();}}
}

Java 实例 – 打印平行四边形

输出平行四边形。

package com.example.yan.java打印图形;public class Parallelogram {public static void main(String[] args) {//外层循环 每次打出一个*for (int i = 1; i <= 5; i++) {//填充空格for (int j = 1; j <= 5 - i; j++) {System.out.print(" ");}//内层循环 每次打印一个*for (int k = 1; k <= 5; k++) {System.out.print("*");}System.out.println();}}
}

Java 实例 – 打印矩形

  public static void main(String[] args) {//外层循环 每次输出一行*for (int i = 1; i <= 5; i++) {System.out.print("*");//内层循环 每次输出一个*for (int j = 1; j <= 5; j++) {System.out.print("*");}System.out.println();}}

码云源码地址:https://gitee.com/yan_wen_chao/java-string-operation

希望可以對大家有幫助;一起學習;

Java 实例-打印图形相关推荐

  1. Java 实例 – 打印平行四边形和打印倒立的三角形

    Java 实例 – 打印平行四边形和打印倒立的三角形 Java 实例 – 打印平行四边形 输出平行四边形. 实例 public class Parallelogram { public static ...

  2. java语言打印图形_JAVA语言入门教程之打印图形实例——打印矩形

    本文主要向大家介绍了JAVA语言入门教程之打印图形实例--打印矩形,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助. 输出矩形: public class Rect { public s ...

  3. java 使用*打印图形(菱形、平行四边形、三角形)

    打印图形 画图题的解决方法:首先是要确定要画图形的各个参数如图形的边数.打印的字符:然后确定每一行要输出的字符数和空格数(字符和空格数的初始值):从输出的字符数和空格数推测出是递增还是递减:最后是判断 ...

  4. Java:打印图形(菱形、平行四边形、三角形....)

    1.打印菱形 package csdn1; public class java菱形 {     public static void main(String[] args) {         pri ...

  5. java编程输出平行四边形_JAVA语言入门教程之打印图形实例——打印平行四边形...

    本文主要向大家介绍了JAVA语言入门教程之打印图形实例--打印平行四边形,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助. 输出平行四边形: public class Parallelo ...

  6. java编程打印以下图形,分享java打印简单图形的实现代码

    我们平时都是使用的画图工具进行简单图形的绘制,今天我们使用java打印一些简单的图形 实现代码如下 package test; /** * * @author hanzel * @打印图形 * */ ...

  7. java jar 打印_三种Java打印PDF文档的实例代码

    以下内容归纳了通过Java程序打印PDF文档时的3种情形.即: 1 静默打印 2 显示打印对话框打印 3 打印PDF时自定义纸张大小 使用工具:Spire.PDF for Java Jar文件获取及导 ...

  8. Java实例实验项目大全源码企业通讯打印系统计划酒店图书学生管理进销存商城门户网站五子棋

    wx供重浩:创享日记 对话框发送:java实例 获取完整源码源文件+视频讲解+文档资料等 文章目录 1.企业通讯 2.快递打印系统 3.开发计划管理系统 4.酒店管理系统 5.图书馆管理系统 6.学生 ...

  9. java怎么做图形界面_java怎么做图形界面?实例分享

    学习java不仅要学会写程序,也要学会做图形界面,可是做图形界面对于一些刚学java的人员来说还是比较困难的,那么今天我们就给大家分享一下java做图形界面的方法. 首先我们来了解一下创建图形界面时常 ...

最新文章

  1. 推荐100份:高并发高可用和中台一网打尽
  2. Android 模拟Uart 串口通信
  3. linux 64位vcs,求助,VCS在ubuntu 64位的问题
  4. pandas.DataFrame.iloc的使用
  5. SpringBoot高级消-息-RabbitMQ基本概念简介
  6. zabbix计算型监控项函数last_zabbix 自定义key类型之计算(Calculated items)-阿里云开发者社区...
  7. python学生名片系统_Python入门教程完整版400集(懂中文就能学会)快来带走
  8. Partition Array by Odd and Even
  9. tomcat下多个app 不同的图标_5G SA网络切片下,独立APP应用如何自行接入不同网络切片...
  10. 高职院校计算机基础课程,高职院校计算机基础课程教学探讨的论文
  11. 为app添加发微博功能
  12. java 回溯_java 实现迷宫回溯算法示例详解
  13. 报错:/check/src/check_log.c:27:10: 致命错误: subunit/child.h:没有那个文件或目录
  14. 3808. 画正方形——AcWing题库
  15. ug浩强工具有什么作用_ug浩强工具 v2.45 官方版
  16. 数字图像处理 - 投影重建图像(一)雷登变换和傅里叶切片
  17. java可以进行爬虫吗,java可以写爬虫吗
  18. linux远程win7无法连接wifi,苹果电脑win7系统连不上wifi热点深度纯净
  19. 2021.06.29【R语言】丨png转pdf批量生成
  20. 2018年上海人工智能大会(SHAI2018)即将在上海举行

热门文章

  1. 关于MATLAB2019a的三相全控桥整流电路的画法学习
  2. 在线ps(在线photoshop)编辑器 在线图像编辑器
  3. 视频笔记-吾爱破解ximo脱壳视频1~10
  4. 计算机三级网络技术第五章(第一轮)
  5. C#中虚方法(virtual)详解
  6. 基于 Qt Quick+websocket 的Web扫描仪驱动开发
  7. 最新随机美女视频内置接口源码
  8. 西软前台系统使用中常见问题与基本概念
  9. 使用暴风激活后首页被劫持
  10. 如何使用atom编辑php,安装和使用Atom编辑器