/**
author:Zelmira
StarDate:2019/7/28
EndDate:2019/7/28
/
/
题目:
1、打印如下图形:
******
******
******
2、打印如下图形:
*
**
***
****
*****
3、打印如下图形:
*****
****
***
**
*
4、打印如下图形:
*
* *
* * *
* * * *
* * * * *
5、打印如下图形:
* * * * *
* * * *
* * *
* *
*
6、打印99乘法表
/
/
效果图:
*/
class For{
public static void main(String []args){
For f=new For();
f.PrintRectangle(3,6);
System.out.println("-------------------------------");
f.PrintRightTriangle(5);
System.out.println("-------------------------------");
f.PrintDelRightTriangle(6);
System.out.println("-------------------------------");
f.PrintEqualTriangle(5);
System.out.println("-------------------------------");
f.PrintDelEqualTriangle(8);
System.out.println("-------------------------------");
f.PrintMultip(9);
}
/*
分析:1、这个比较简单,直接用for循环输出*****即可(控制高),
而*****可以用内层for循环来进行不换行输出(控制宽)
*/
public void PrintRectangle(int row,int line){ //row表示高,line表示宽
for (int i=0; i<row; i++){
for(int j=0; j<line; j++){
System.out.print("*");
}
System.out.println(); //用来控制换行
}
}
/*
分析:2、这个相对简单,用外层for循环输出*(控制高),
用内层for循环来控制输出的*的长度(控制宽)
*随着行数的增加而增加
*/
public void PrintRightTriangle(int row){ //row表示高,line表示宽
for (int i=0; i<row; i++){
for(int j=0; j<=i; j++){
System.out.print("*");
}
System.out.println(); //用来控制换行
}
}
/*
分析:3、这个相对简单,用外层for循环输出*(控制高),
用内层for循环来控制输出的*的长度(控制宽)
*随着行数的增加而减少,即第二题的三角形倒过来
*/
public void PrintDelRightTriangle(int row){ //row表示高
for (int i=0; i<row; i++){
for(int j=0; j<(row-i); j++){
System.out.print("*");
}
System.out.println(); //用来控制换行
}
}
/*
分析:4、这个相对简单,用外层for循环输出*(控制高),
用内层for循环来控制输出的*的长度(控制宽,并且要控制空格)
*随着行数的增加而增加,而*前面的空格随着行数的增加而减少
*/
public void PrintEqualTriangle(int row){ //row表示高
for (int i=0; i<row; i++){
for(int j=0; j<(row-i); j++){ //用来控制*前面的空格
System.out.print("-");
}
for(int j=0; j<=i; j++){ //控制输出*
System.out.print(" *");
}
System.out.println(); //用来控制换行
}
}
/*
分析:5、这个相对简单,用外层for循环输出*(控制高),
用内层for循环来控制输出的*的长度(控制宽,并且要控制空格)
*随着行数的增加而减少,而*前面的空格随着行数的增加而增加
它是第四题的三角形倒过来
*/
public void PrintDelEqualTriangle(int row){ //row表示高
for (int i=0; i<row; i++){
for(int j=0; j<i; j++){
System.out.print("-"); //用来控制*前面的空格
}
for(int j=0; j<(row-i); j++){
System.out.print(" *"); //用来控制*
}
System.out.println(); //用来控制换行
}
}
/*
分析:6、这个一般简单,用外层for循环(控制高),
用内层for循环来控制输出的结果的长度(控制宽)
结果随着行数的增加而增加,并且x*y=z中,在一行中,y是不变的,
而在内层循环中,i是不变的,执行完内层循环后,i才会开始自增,所以i应该为第二个数(y)
*/
public void PrintMultip(int row){ //row表示高
for (int i=1; i<=row; i++){
for(int j=1; j<=i; j++){
//\t是制表符,为了让数字对齐用的
System.out.print("\t"+j+"*"+i+"="+(i*j));
}
System.out.println(); //用来控制换行
}
}
}