一.实例一:
1.需求:在控制台上打印一个五行五列的矩形,如下图所示。
*****
*****
*****
*****
*****
2.分析:首先多行多列的图形肯定有两个for循环,而行数5行是确定的,列数5列也是确定的
3.实例:
class Demo10{
public static void main(String[] args){
for(int i = 0;i < 5;i++){ //控制行数
for(int j = 0;j < 5;j++){ //控制列数,每一行有多少*号
System.out.print("*");
} //*****
System.out.println(); //换行
}
}
}
4.运行结果如下图所示:
二.实例二:
1.需求:在控制台打印一个由5行“*”组成的正立的直角三角形,如下图所示。
*
**
***
****
*****
2.分析:首先行数5行是确定的。而列数会发生变化,列数的分析过程如下:
第一行: i = 0; i < 5; j = 0; j <=0; 1个星号
第二行: i = 1; i < 5; j = 0; j <= 1; 2个星号
第三行: i = 2; i < 5; j = 0; j <= 2; 3个星号
……
由以上分析可知,列数 j <= i;
3.实例:
class Demo11 {
public static void main(String[] args)
{
for(int i = 0 ; i< 5 ; i++){
for(int j = 0 ; j<=i ; j++){ //控制列数
System.out.print("*");
}
//换行
System.out.println();
}
}
}
4.运行结果如下图所示:
三.实例三:
1.需求:在控制台上打印出一个倒立的直角三角形,如下图所示:
*****
****
***
**
*
2.分析:首先5行是确定的,列数会发生变化,列数的分析过程如下:
第一行: i = 0; i < 5; j = 0; j < 5; 5个星号
第二行: i = 1; i < 5; j = 0; j < 4; 4个星号
第三行: i = 2; i < 5; j = 0; j < 3; 3个星号
……
由以上分析可知,列数 j < (5-i);
3.实例
:
class Demo12{
public static void main(String[] args)
{
for(int i = 0 ; i<5; i++){
for (int j = 0 ; j<(5-i) ;j++ ){
System.out.print("*");
}
//换行
System.out.println();
}
}
}
4.运行结果如下图所示:
四.实例四:
1.需求:在控制台打印出如下图所示的三角形图案:
*
**
***
****
*****
2.分析:首先行数5行是确定的,而列数不确定,列数是由空白和星号组成的,列数的分析过程如下:
第一行: i = 0; i < 5; j = 0; j < 4; 4个空白
k = 0; k < 1; 1个星号
第二行: i = 1; i < 5; j = 0; j < 3; 3个空白
k = 0; k < 2; 2个星号
第三行: i = 2; i < 5; j = 0; j < 2; 2个空白
k = 0; k < 3; 3个星号
……
由以上分析可知,每一行的空白数 j < (5-1-i);而每一行的星号数为 k < (i+1);
3.实例
:
class Demo13{
public static void main(String[] args){
for(int i = 0;i < 5;i++){
for(int j = 0;j < (5-1-i);j++){ //每一行的空白数
System.out.print(" ");
}
for(int k = 0;k < (i+1);k++){ //每一行星号的个数
System.out.print("*");
}
System.out.println();
}
}
}
4.运行结果如下图所示:
五.实例五:
1.需求:在控制台上打印出如下图所示的三角形图案:
*****
****
***
**
*
2.分析:首先行数5行是确定的,列数不确定,列数是由空白和星号组成的,列数的分析过程如下:
第一行: i = 0; i < 5; j = 0; j < 0; 0个空白
k = 0; k < 5; 5个星号
第二行: i = 1; i < 5; j = 0; j < 1; 1个空白
k = 0; k < 4; 4个星号
第三行: i = 2; i < 5; j = 0; j < 2; 2个空白
k = 0; k < 3; 3个星号
……
由以上分析可知:每一行的空白个数为 j < i;每一行的星号的个数为 k < (5-i);
3.实例
:
class Demo14{
public static void main(String[] args){
for(int i = 0;i < 5; i++){
for(int j = 0;j < i;j++){ //每一行空白的个数
System.out.print(" ");
}
for(int k = 0;k < (5-i);k++){ //每一行星号的个数
System.out.print("*");
}
System.out.println();
}
}
}
4.运行结果: