打印圖形一般都是嵌套循環(huán),外層循環(huán)控制顯示行數(shù)窿冯,內(nèi)層循環(huán)控制列數(shù)枣抱。
圖形一:矩形
/*題目:打印三行五列的矩形,如下圖
*****
*****
*****
*/
public class Rectangle {
public static void main(String[] args) {
for(int i=1;i<=3;i++) {
for(int j=1;j<=5;j++){
System.out.print("*");
}
System.out.println();//每打印一行就換行
}
}
}
圖形二:直角三角形
/* 題目:打印直角三角形解愤,如下圖
*
**
***
****
*****
*/
public class Triangle {
public static void main(String[] args) {
for(int i=1;i<=5;i++) {
for(int j=1;j<=i;j++) {
System.out.print("*");
}
System.out.println();
}
}
}
圖形三:等腰三角形
/* 題目:打印等腰三角形骤素,如下圖
*
* *
* * *
* * * *
* * * * *
*/
public class IsoTriangle {
public static void main(String[] args) {
for(int i=1;i<=5;i++) {
//先打印空格,空格是倒三角形狀
for(int m=4;m>=i;m--) {
System.out.print(" ");
}
//打印三角形
for(int j=1;j<=i;j++) {
System.out.print("* ");//*號后面有空格用于對應格式
}
System.out.println();//每打印一行就換行
}
}
}
圖形四:菱形
/* 題目:打印如下菱形异剥。
*
* *
* * *
* * * *
* * *
* *
*
思路:1.分上下兩部分瑟由,上面四行的三角形,下面三行的倒三角形
2.每部分先打印左邊的三角形的空格再打印*號
*/
public class Rhombus02 {
public static void main(String[] args) {
//打印上半部分
for(int i=1;i<=4;i++) {
for(int j=3;j>=i;j--) {
System.out.print(" ");
}
for(int k=1;k<=i;k++) {
System.out.print("* ");
}
System.out.println();
}
//打印下半部分
for(int i=1;i<=3;i++) {
for(int j=1;j<=i;j++) {
System.out.print(" ");
}
for(int k=3;k>=i;k--) {
System.out.print("* ");
}
System.out.println();
}
}
}
圖形五:空心三角形
/*題目:打印一個空心三角形冤寿,如下圖
*
* *
* *
* *
* *
* * * * * *
*/
public class EmptyTriangle {
public static void main(String[] args) {
for(int i=1;i<=6;i++) {
//打印三角形左邊空格
for(int k=5;k>=i;k--) {
System.out.print(" ");
}
//打印空心三角形
for(int j=1;j<=2*i-1;j++) {
if(i==1||i==6) {//判斷是否為第一行或最后一行
System.out.print("*");
}else {
if(j==1||j==2*i-1) {//判斷是否為第一列或最后一列歹苦,輸出*
System.out.print("*");
}else {
System.out.print(" ");
}
}
}
System.out.println();
}
}
}
圖形六:九九乘法表
/*
* 題目:打印九九乘法表
思路:和打印直角三角形的做法差不多。區(qū)別就是打印的是數(shù)字
*/
public class MultiplicationTable {
public static void main(String[] args) {
for(int i=1;i<=9;i++) {
for(int j=1;j<=i;j++) {
System.out.print(i+"*"+j+"="+i*j+"\t");
}
System.out.println();
}
}
}
圖形七:楊輝三角形
/*題目:打印出楊輝三角形(要求打印出10行如下圖)
程序分析:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
*/
public class YangHuiTriangle {
public static void main(String[] args) {
int[][] triangle = new int[6][];//創(chuàng)建一個6行列數(shù)未知的二維數(shù)組
//從第一行開始遍歷
for(int i=0;i<triangle.length;i++) {
triangle[i] = new int[i+1];//動態(tài)初始化數(shù)組督怜,第一行存放一個數(shù)據(jù)殴瘦,以此類推
for(int k=triangle.length-1-i;k>0;k--) {//打印空格
System.out.print(" ");
}
for(int j=0;j<=triangle[i].length-1;j++) {//遍歷數(shù)組
if(i==0||j==0||j==triangle[i].length-1) {//兩側賦值為1
triangle[i][j] = 1;
}else {
triangle[i][j] = triangle[i-1][j-1] + triangle[i-1][j];//中間值計算
}
System.out.print(triangle[i][j]+" ");
}
System.out.println();
}
}
}
總結:打印圖形最基本的是要找到圖形變化的規(guī)律,然后依據(jù)循環(huán)嵌套号杠,外層控制行蚪腋,內(nèi)層控制列數(shù)或個數(shù)。