java 使用*打印图形(菱形、平行四边形、三角形)
打印圖形
畫圖題的解決方法:首先是要確定要畫圖形的各個參數如圖形的邊數、打印的字符;然后確定每一行要輸出的字符數和空格數(字符和空格數的初始值);從輸出的字符數和空格數推測出是遞增還是遞減;最后是判斷終止條件或者是變換方向的條件。
通常是以下代碼
三角形
打印三角形,從形狀可以判斷要輸出的字符是“* ”,要打印的行數是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即可。
上面圖形是從菱形轉換出一個新圖形,從形狀可以判斷要輸出的字符是“* ”,要打印的行數是11但是可以通過6次循環(huán)打印出這個圖形;要打印的字符數跟行數一致也就是說逐行遞減而空格是逐行遞增但是到了第六行行數跟字符數是遞增關系、和空格數是遞減關系,所以在打印第六行要做一個轉向變換的條件(n == 1)。終止的條件為輸出的字符數大于行變量number即可。
平行四邊形
平行四邊形打印打印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 使用*打印图形(菱形、平行四边形、三角形)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 我从华为身上学到的项目管理经验 -- 设
- 下一篇: 做菜的技巧