使用java二重循环打印各种图案总结:外层循环控制行数,是固定的,内层循环控制每行的输出情况,注意写内层循环的满足条件时,要找到每层输出的图形数和外层循环的关系,肯定存在一定的关系,要么是总和一定,要么是存在某种数学关系。举几个例子如下:使用java打印直角三角形、倒直角三角形、等腰三角形、平行四边形、矩形、实心菱形、四种九九乘法表:
package BiShiTest;
import java.util.Scanner;
import org.junit.Test;
/**
* 双重循环练习:打印各种图形和打印四种九九乘法
*/
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();
}
}
}