for循环回顾,随机输出一个奇数得到菱形(双for嵌套得到菱形方法的延伸)

来源:互联网 发布:网络攻击追踪溯源 pdf 编辑:程序博客网 时间:2024/05/12 12:21

学习了for循环我们就知道了for是一个很强大的功能,能让计算机代替我们做很多繁琐的事情,本片文章就是我学习了for循环之后的一些简单的回顾以及延伸,利用for循环得到简单的图形:矩形,三角形,平行四边形,菱形。本文中我还借着菱形写了一点延伸,仅供参考,下面我们就回顾一下这几个例子。


public class ForDemo {public static void main(String[] args) {// 打印矩形// 使用嵌套循环打印行列图形// 嵌套循环中,外打行,内打列/*for (int i = 1; i <= 5; i++) {// 打印五个星星for (int j = 1; j <= 20; j++) {System.out.print("*");}// 每打印五个星就换行System.out.println();}*/// 嵌套循环相当于生活中的钟表,这里我们引入了时钟时分秒的概念方便大家理解// 小时/*for (int k = 1; k <= 12; k++) {// 分钟for (int i = 1; i <= 60; i++) {// 秒for (int j = 1; j <= 60; j++) {System.out.println("第"+k+"小时,第" + i + "分," + "第" + j + "秒");}}}*/// 找规律// 平行四边形/*for (int i = 1; i <= 3; i++) {// 打空格for(int k=1;k<=3-i;k++){System.out.print(" ");}// 打印五个星星for (int j = 1; j <= 5; j++) {System.out.print("*");}// 每打印五个星就换行System.out.println();}*/// 等腰三角形/* for (int i = 1; i <= 3; i++) {// 打空格for(int k=1;k<=3-i;k++){System.out.print(" ");}// 打印五个星星for (int j = 1; j <= 2*i-1; j++) {System.out.print("*");}// 每打印五个星就换行System.out.println();}*//*for (int i = 1; i <= 3; i++) {// 打空格for(int k=1;k<=3-i;k++){System.out.print(" ");}// 打印五个星星for (int j = 1; j <= 2*i-1; j++) {if(j%2==0){System.out.print(" ");}else{System.out.print("*");}}// 每打印五个星就换行System.out.println();}*///5行菱形的打印方法for (int i = 1; i <= 3; i++) {// 打空格for(int k=1;k<=3-i;k++){System.out.print(" ");}// 打印五个星星for (int j = 1; j <= 2*i-1; j++) {System.out.print("*");}System.out.println();}for (int i = 2; i >= 1; i--) {// 打空格for(int k=1;k<=3-i;k++){System.out.print(" ");}// 打印五个星星for (int j = 1; j <= 2*i-1; j++) {System.out.print("*");}System.out.println();}}}

通过以上这个例子大家也可以发现,菱形是这几个图形中比较难写的,因为它运用的变换比较多,我在学习的过程中试着写一下延伸的程序和大家分享一下。试着输入一个奇数得到这么多行的菱形


//随机打出多少行的菱形 必须是奇数public class ShapeDemo {public static void main(String[] args) {System.out.println("你想得到多少行的菱形?");Scanner sc=new Scanner(System.in);int x = sc.nextInt();for (int i = 1; i <= (x+1)/2; i++) {for (int b = 1; b <= (x+1)/2- i; b++) {System.out.print(" ");//排版出空格}for (int j = 1; j <= 2 * i - 1; j++) {System.out.print("*");//打印出每行的星星}System.out.println();//换行}for(int i=x/2;i>=1;i--){//排版下半部分的星星for (int b = 1; b <= (x+1)/2 - i; b++) {System.out.print(" ");}for (int j = 1; j <= 2 * i - 1; j++) {System.out.print("*");}System.out.println();}}}


以上就是我个人整理出来的关于双for循环嵌套的几个例子。以及菱形简单的延伸。


原创粉丝点击