Java二重迴圈列印圖案
阿新 • • 發佈:2019-01-25
使用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();
}
}
}