打印九九乘法表
for (int i=1;i<=9;i++){ // 控制行
for (int j=1;j<=i;j++){ // 具体操作在这,每一行的具体操作
System.out.print(i+"*"+j+"="+i*j+" ");
}
System.out.println(); // 打完一行后,换行
}
打印三角形
for(int i=1;i<=5;i++){
for(int j=5; i<=j; j--)
System.out.print("@");
for(int j=1; j<=i; j++)
System.out.print("*");
for(int j=1; j<i; j++)
System.out.print("*");
System.out.println();
}
参考:http://www.runoob.com/w3cnote/java-print-the-triangle.html
public void iTriangle(){
for (int i=1; i<=5; i++){ // i 控制行
for (int j=5-i; j>0; j--){ // j-- 控制空格的数量
System.out.print(" ");
}
for (int k=1; k<=2*i-1; k++){ // k-- 控制*的数量
System.out.print("*");
}
System.out.println(); // 打印完一行就换行
}
}
分为两部分,首先先打印空格,寻找规律
第1行4个空格,5-1=4 *的个数,第1行1个2*1-1=1
第2行3个,5-2=3 第2行3个2*2-1=3
第3行2个,5-3=2 第3行5个2*3-1=5
第4行1个,5-4=1 第4行7个2*4-1=7
第5行0个,5-5=0,所以i从1开始,5-i 即可得出空格数 第5行9个,所以i从1开始,2*i-1
最后在处理完一行后要换行
菱形
/**
* @param h 半层的高度
*/
private static void diamond(int h){
// 先打印菱形上半部分
for (int i=1;i<=h;i++){
for (int k=1;k<=h-i;k++){
System.out.print(" ");
}
for (int j=1;j<=2*i-1;j++){
System.out.print("*");
}
System.out.println();
}
// 再打印菱形下半部分,发现下半部分比上半部分少一行,所以h-1
// 例如h=5 ,我们可以理解为下半部分从第4行开始
for (int i=h-1;i>=1;i--){
// 发现h-行数,可以控制空格数,所以h-i
for (int k=1;k<=h-i;k++){
System.out.print(" ");
}
for (int j=1;j<=2*i-1;j++){
System.out.print("*");
}
System.out.println();
}
}
空心菱形
判断边界即第一个与最后一个打印*,否则打印空格
if (j==1 || j==2*i-1)
System.out.print("*");
else
System.out.print(" ");
/**
* @param h 半层的高度
*/
private static void diamond(int h){
// 先打印菱形上半部分
for (int i=1;i<=h;i++){
for (int k=1;k<=h-i;k++){
System.out.print(" ");
}
for (int j=1;j<=2*i-1;j++){
if (j==1 || j==2*i-1) // 判断是否为每一行的边界
System.out.print("*");
else
System.out.print(" ");
}
System.out.println();
}
// 再打印菱形下半部分,发现下半部分比上半部分少一行,所以h-1
// 例如h=5 ,我们可以理解为下半部分从第4行开始
for (int i=h-1;i>=1;i--){
// 发现h-行数,可以控制空格数,所以h-i
for (int k=1;k<=h-i;k++){
System.out.print(" ");
}
for (int j=1;j<=2*i-1;j++){
if (j==1 || j==2*i-1)
System.out.print("*");
else
System.out.print(" ");
}
System.out.println();
}
}