日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發(fā)布時間:2023/12/20 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java 使用*打印图形(菱形、平行四边形、三角形) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

打印圖形

畫圖題的解決方法:首先是要確定要畫圖形的各個參數如圖形的邊數、打印的字符;然后確定每一行要輸出的字符數和空格數(字符和空格數的初始值);從輸出的字符數和空格數推測出是遞增還是遞減;最后是判斷終止條件或者是變換方向的條件。
通常是以下代碼

public static void XX(){//變量number(一般是行數/作為循環(huán)次數)int number = 10;//輸出的字符串String str = "* ";//n - 這一行str的數量(首行打印的次數)int n = number;//m - 這一行開始空格的數量(首行空格數)int m = 0;//標志位 - 控制方向 true->遞減 false->遞增(判斷是否需要變換打印如本例的菱形)boolean flag = true;//循環(huán)輸出每行的打印for(;n <= number;){//輸出m個空格for(int i = 0; i < m; i++){System.out.print(" ");}//輸出n個str字符串for(int i = 0; i < n; i++){System.out.print(str);}if(n == 1){//調換方向flag = false;}if(flag){//下一行str遞減,空格要遞增m++;n--;} else {m--;n++;}//輸出完一行,換行System.out.println();}}

三角形

打印三角形,從形狀可以判斷要輸出的字符是“* ”,要打印的行數是8;要打印的字符數跟行數一致也就是說逐行遞增而空格是逐行遞減,終止的條件可以直接用for循環(huán)8次即可。

public static void Triangle(){//圖形要輸出的行數int number = 8;//圖形要輸出的字符串String str = "* ";//輸出的空格int m = number;//每行要輸出字符串的數量int n = 1;for(;n <= number;){//輸出空格for (int i = 0; i < m; i++) {System.out.print(" ");}//輸出字符串for (int i = 0; i < n; i++) {System.out.print(str);}m--;n++;System.out.println();}}

菱形


打印菱形,從形狀可以判斷要輸出的字符是“* ”,要打印的行數是11但是需要循環(huán)12此才能打印出;要打印的字符數跟行數一致也就是說逐行遞增而空格是逐行遞減但是到了第六行行數跟字符數是遞減關系、和空格數是遞增關系,所以在打印第六行要做一個轉向變換的條件(n == number/2)。終止的條件為輸出的字符數小于1即可。

public static void Diamond(){//變量numberint number = 12;//輸出的字符串String str = "* ";//n - 這一行str的數量int n = 1;//m - 這一行開始空格的數量int m = number;//標志位 - 控制方向 true->遞增 false->遞減boolean flag = true;for(;n >= 1;){// 輸出空格for (int i = 0; i < m; i++) {System.out.print(" ");}//輸出字符for (int i = 0; i < n; i++) {System.out.print(str);}if(n == number/2){//調換方向flag = false;}if(flag){m--;n++;} else {//下一行str遞減,空格要遞增m++;n--;}//輸出完一行就換行System.out.println();}}


上面圖形是從菱形轉換出一個新圖形,從形狀可以判斷要輸出的字符是“* ”,要打印的行數是11但是可以通過6次循環(huán)打印出這個圖形;要打印的字符數跟行數一致也就是說逐行遞減而空格是逐行遞增但是到了第六行行數跟字符數是遞增關系、和空格數是遞減關系,所以在打印第六行要做一個轉向變換的條件(n == 1)。終止的條件為輸出的字符數大于行變量number即可。

public static void graph(){//變量numberint number = 6;//輸出的字符串String str = "* ";//n - 這一行str的數量int n = number;//m - 這一行開始空格的數量int m = 0;//標志位 - 控制方向 true->遞減 false->遞增boolean flag = true;//循環(huán)輸出每行的打印for(;n <= number;){//輸出m個空格for(int i = 0; i < m; i++){System.out.print(" ");}//輸出n個str字符串for(int i = 0; i < n; i++){System.out.print(str);}if(n == 1){//調換方向flag = false;}if(flag){//下一行str遞減,空格要遞增m++;n--;} else {m--;n++;}//輸出完一行,換行System.out.println();}}

平行四邊形

平行四邊形打印打印8行可以直接循環(huán)即可,輸出的字符可以一個一個輸出也可以直接一次性輸出,空格是遞減

public static void Parallelogram(){//圖形要輸出的行數int number = 8;//圖形要輸出的字符串String str = "* ";//輸出的空格int m = number;//每行要輸出字符串的數量int n = number;for (;m >= 0;) {//輸出空格for (int i = 0; i < m; i++) {System.out.print(" ");}//輸出字符串for (int i = 0; i < n; i++) {System.out.print(str);}m--;System.out.println();}}

總結

以上是生活随笔為你收集整理的java 使用*打印图形(菱形、平行四边形、三角形)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。