for循环嵌套练习题

以下是对上周做的几道for循环练习题的整理:

1.打印正方形

*  *  *  *  * 
*  *  *  *  * 
*  *  *  *  *
*  *  *  *  * 
*  *  *  *  * 

public class One {
	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();//换行
		}
	}
}

2、九九乘法表

1*1=1 
1*2=2 2*2=4 
1*3=3 2*3=6 3*3=9 
1*4=4 2*4=8 3*4=12 4*4=16 
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25 
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36 
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49 
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64 
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81 
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81 
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64 
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49 
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36 
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25 
1*4=4 2*4=8 3*4=12 4*4=16 
1*3=3 2*3=6 3*3=9 
1*2=2 2*2=4 
1*1=1 

public class Two {
	public static void main(String[] args)
	{
		//正三角
		for(int i=1;i<=9;i++)
		{
			for(int j=1;j<=i;j++)
/*
 * 外循环执行1次,内循环执行i次
 * 第一次循环:i=1;j=1;1<=1;输出1*1=1;
 *第二次循环:i=2;j=1,2;输出1*2=2;2*2=4
 */
			{
			System.out.print(j+"*"+i+"="+i*j+" ");
			}
			System.out.print("\n");//换行
		}
		for(int i=9;i>=1;i--)//倒三角
		{
			for(int j=1;j<=i;j++)
/*
 * 与正三角类似
 * 第一次循环;i=9,那么内循环就要循环9次
 */
			{
			System.out.print(j+"*"+i+"="+i*j+" ");
			}
			System.out.print("\n");
		}
	}
}

3、左直角三角形

        *
        * *
        * * *
        * * * *
        * * * * *

public class Three {
	public static void main(String[] args) {
/*
 * 这个与打印九九乘法表的题类似
 * 外循环执行一次,内循环执行i次;
 */
		for(int i=1;i<=5;i++) {
			for(int j=0;j

4、右直角三角形

                *
              * *
            * * *
          * * * *
        * * * * *

public class Four
{
    public static void main(String[] args)
    {
/*
 * 这道题我的思路是外循环里嵌套两个内循环,
 * 第一个内循环是输出左上角的空格三角
 * 第二个内循环与上一题中的直角三角一样
 */
       for(int i=1;i<=5;i++){
    	   for(int j=5;j>i;j--){//空格三角
    		   System.out.print(" ");
    	   }
    	   for(int k=0;k


    5、这样的三角形
             *
           * * *
         * * * * *
      * * * * * * *
    * * * * * * * * *

public class Five
{
    public static void main(String[] args)
    {
/*
 * 这道题与上一个题类似
 * 左上角的是空格三角
 * 外循环执行一次,内循环执行2*i-2次,得到每一行的足够星号数量; 
 */
        for(int i=1;i<=5;i++){
        	for(int k=5;k>i;k--){
        		System.out.print(" ");
        	}
        	for(int j=0;j<2*i-1;j++){
        		System.out.print("*");
        	}
        	System.out.print("\n");
        }
    }
}

6、倒左直角三角形:
         * * * * *
         * * * * 
         * * *  
         * * 
         * 

public class Six {
	public static void main(String[] args) {
/*
 * 这道题与第二题打印倒三角九九乘法表类似
 * 外循环执行一次,内循环执行五次
 */
		for(int i=0;i<5;i++) {
			for(int j=5;j>i;j--) {
				System.out.print("*");
			}
			System.out.print("\n");
		}
	}
}


    7、倒右直角三角形
         * * * * * 
           * * * *
             * * *
               * *
                 *
  

public class Seven {
	public static void main(String[] args){
/*
 * 这道题依然是空格三角的问题,把第六题中的内循环中加个空格三角就行了		
 */
		for(int i=0;i<5;i++) {
			for(int k=0;ki;j--) {
				System.out.print("*");			
			}		
			System.out.print("\n");
		}
	}
}


    8、菱形:
             *
           * * *
         * * * * *
      * * * * * * *
    * * * * * * * * *
       * * * * * * * 
         * * * * * 
           * * * 
             * 

public class Eight {
	public static void main(String[] args){
/*
 * 这道题我的思路是叠加了两个第五题中的三角形
 * 把下面的三角形做了跟第七题类似下改动,让它倒起来
 * 这道题我看到别人有其它的做法,有空去看一下
 */
		 for(int i=1;i<=5;i++){
	        	for(int k=5;k>i;k--){
	        		System.out.print(" ");
	        	}
	        	for(int j=0;j<2*i-1;j++){
	        		System.out.print("*");
	        	}
	        	System.out.print("\n");
	        }
		 for(int i=5;i>0;i--){
			 for(int k=5;k>=i;k--){
					System.out.print(" ");
			 	}
			 for(int j=2*i-3;j>0;j--){
	        		System.out.print("*");
	        	}		
	        	System.out.print("\n");
		    }
	}
}

总结:

for循环的关键在于外循环和内循环的分工要明确

外循环执行一次,一整个内循环都得执行

你可能感兴趣的:(Java学习笔记)