1. 程式人生 > >Java二重迴圈列印圖案

Java二重迴圈列印圖案

  使用java二重迴圈列印各種圖案總結:外層迴圈控制行數,是固定的,內層迴圈控制每行的輸出情況,注意寫內層迴圈的滿足條件時,要找到每層輸出的圖形數和外層迴圈的關係,肯定存在一定的關係,要麼是總和一定,要麼是存在某種數學關係。舉幾個例子如下:使用java列印直角三角形、倒直角三角形、等腰三角形、平行四邊形、矩形、實心菱形、四種九九乘法表:

package BiShiTest;

import java.util.Scanner;

import org.junit.Test;
/**
 * 雙重迴圈練習:列印各種圖形和列印四種九九乘法
 * 
 * @author 任志燕 
 * 2017年6月21日
 *
 */
public class PrintGraphTest { Scanner scanner = new Scanner(System.in); //1.列印矩形 @Test public void testOne(){ for (int i = 0; i < 5; i++) { for (int j = 0; j < 4; j++) { System.out.print("*"); } System.out.println(); } } //2.列印直角三角形
@Test public void testTwo(){ System.out.print("請輸入直角三角形的行數:"); int row = scanner.nextInt(); for (int i = 1; i <=row ; i++) { for (int j = 1; j <= (2*i-1); j++) { System.out.print("*"); } System.out.println(); } } //3.列印倒直角三角形
@Test public void testThree(){ System.out.println("請輸入直角三角形的行數:"); int count = scanner.nextInt(); for (int i = 1; i <= count; i++) { for (int j = 1; j <= count-i+1; j++) { System.out.print("*"); } System.out.println(); } } //4.1 列印等腰三角形 @Test public void testFour(){ System.out.println("請輸入等腰三角形的行數:"); int row = scanner.nextInt(); for (int i = 1; i <= row; i++) { for (int j = 1; j <=(2*row-1); j++) { if (j<=row-i) { System.out.print(" "); } else if (j<(row+i)) { System.out.print("*"); } } System.out.println(); } } //4.2 列印等腰三角形方法二 @Test public void testFour2(){ System.out.print("請輸入等腰三角形的行數:"); int row = scanner.nextInt(); for (int i = 1; i <= row; i++) { //先列印左面空格 for (int j = 0; j < row-i; j++) { System.out.print(" "); } //列印* for (int j = 1; j <= 2*i-1; j++) { System.out.print("*"); } System.out.println(); } } //5.列印平行四邊形 @Test public void testFive(){ System.out.print("請輸入平行四邊形的行數:"); int row = scanner.nextInt(); for (int i = 0; i < row ; i++) { for (int j = 1; j <= 2*row; j++) { if (j<=row-i) { System.out.print(" "); }else if (j<=2*row-i) { System.out.print("#"); } } System.out.println(); } } //6.列印菱形 @Test public void testSix(){ System.out.println("請輸入菱形的行數:"); int row = scanner.nextInt(); //正三角 for (int i = 1; i <=row/2+1; i++) { for (int j = 0; j<(row/2+1-i); j++) { System.out.print(" "); } for (int j = 1; j <=2*i-1; j++) { System.out.print("*"); } System.out.println(); } //倒三角 for (int i = row/2; i >=1; i--) { for (int j = 1; j<=row/2-i+1; j++) { System.out.print(" "); } for (int j = 1; j <=2*i-1; j++) { System.out.print("*"); } System.out.println(); } } //7.列印左下角形式的九九乘法表 @Test public void testSeven(){ for (int i = 1; i <=9 ; i++) { for (int j = 1; j <=i; j++) { System.out.print(j+"*"+i+"="+(j*i)+"\t"); } System.out.println(); } } //8.列印左上三角形式的九九乘法表 @Test public void testEight(){ for (int i = 9; i >=1 ; i--) { for (int j = 1; j <=i; j++) { System.out.print(j+"*"+i+"="+(j*i)+"\t"); } System.out.println(); } } //9.列印右上角形式的九九乘法表 @Test public void testNine(){ for (int i=9; i>=1; i--) { for (int j= 9; j>=1; j--) { if (j>i) { System.out.print("\t"); }else { System.out.print(i+"*"+j+"="+i*j+"\t"); } } System.out.println(); } } //9.列印右下角形式的九九乘法表 @Test public void testTen(){ for (int i=1; i<=9; i++) { for (int j= 9; j>=1; j--) { if (j>i) { System.out.print("\t"); }else { System.out.print(i+"*"+j+"="+i*j+"\t"); } } System.out.println(); } } }