본문 바로가기

자바 JAVA

다중 for문 이용 예제 풀이 - 자바 기초

for문안에 for문을 넣어 활용할 수 있다.

 

  문제) 다음 결과를 출력하는 프로그램 

 출력예) ********** (5행10열)
           **********
           **********
           **********
           **********

package sample;

public class Sample
{
	public static void main(String[] args)
	{
		int i, j;

		for( i=1; i<=5; i++)
		{
			for( j=1; j<=10; j++)
			{
				System.out.print("*");
			}

			System.out.println();
		}
	}
}

  문제) i, j 변수만을 이용하여 출력 

출력예) 1 1 1 1 1
          2 2 2 2 2
          3 3 3 3 3
          4 4 4 4 4
          5 5 5 5 5 

package sample;

public class Sample
{
	public static void main(String[] args)
	{
		int i, j;

		for( i=1; i<=5; i++)
		{
			for( j=1; j<=5; j++)
			{
				System.out.print(i+" ");
			}

			System.out.println();
		}
	}
}

  문제) i, j 변수만을 이용하여 출력 

출력예) 1 2 3 4 5
          1 2 3 4 5
          1 2 3 4 5
          1 2 3 4 5
          1 2 3 4 5

package sample;

public class Sample
{
	public static void main(String[] args)
	{
		int i, j;

		for( i=1; i<=5; i++)
		{
			for( j=1; j<=5; j++)
			{
				System.out.print(j+" ");
			}

			System.out.println();
		}
	}
}

  문제) i, j 변수만을 이용하여 출력 

출력예) 2 3 4 5 6
          3 4 5 6 7
          4 5 6 7 8
          5 6 7 8 9
          6 7 8 9 10

package sample;

public class Sample
{
	public static void main(String[] args)
	{
		int i, j;

		for( i=1; i<=5; i++)
		{
			for( j=1; j<=5; j++)
			{
				System.out.print(i+j+" ");
			}

			System.out.println();
		}
	}
}

  문제) 결과는 공백+%2d 로 표현 

출력예) 2 * 1 =  2          3 * 1 =  3          4 * 1 =  4
          2 * 2 =  4          3 * 2 =  6          4 * 2 =  8
                              ....
          2 * 9 = 18          3 * 9 = 27          4 * 9 = 36

package sample;

public class Sample
{
	public static void main(String[] args)
	{
		int i, j;

		for( i=1; i<=9; i++)
		{
			for( j=2; j<=4; j++)
			{
				System.out.printf("%d * %d = %2d\t", j, i, j*i);
			}

			System.out.println();
		}
	}
}

  문제) 결과는 공백+%2d 로 표현 

출력예) 2 * 1 = 2          2 * 2 = 4          2 * 3 =  6        2 * 4 =  8          2 * 5 = 10
          3 * 1 = 3          3 * 2 = 6          3 * 3 =  9        3 * 4 = 12          3 * 5 = 15
          4 * 1 = 4          4 * 2 = 8          4 * 3 = 12        4 * 4 = 16         4 * 5 = 20

package sample;

public class Sample
{
	public static void main(String[] args)
	{
		int i, j;

		for( i=2; i<=4; i++)
		{
			for( j=1; j<=5; j++)
			{
				System.out.printf("%d * %d = %2d\t", i, j, i*j);
			}

			System.out.println();
		}
	}
}

  문제) 행과 열의 소를 입력받아 아래와 같이 출력하는 프로그램 

입력예) 3 4
출력예) 1 2 3 4
           2 4 6 8
           3 6 9 12

package sample;
import java.util.*;

public class Sample
{
	public static void main(String[] args)
	{
		Scanner scn = new Scanner(System.in);
		int i, j;
		int a = scn.nextInt();
		int b = scn.nextInt();

		for( i=1; i<=a; i++)
		{
			for( j=1; j<=b; j++)
			{
				System.out.print(i*j+" ");
			}

			System.out.println();
		}
	}
}

  문제)2~9까지의 정수 a, b 를 입력받아 a단부터 b단까지의 구구단을 차례대로 출력하는 프로그램 (입력값은 반드시 2~9 정수인걸로 가정) 

입력예) 5 3 (3 5 의 결과도 동일)
출력예) 5 * 1 = 5          4 * 1 = 4          3 * 1 = 3
                                     ...
          5 * 9 = 45         4 * 9 = 36        3 * 9 = 27

package sample;
import java.util.*;

public class Sample
{
	public static void main(String[] args)
	{
		Scanner scn = new Scanner(System.in);
		int i, j, tmp;
		int a = scn.nextInt();
		int b = scn.nextInt();

		if(a<b)
		{
			tmp = a;
			a = b;
			b = tmp;
		}

		for( i=1; i<=9; i++)
		{
			for( j=a; j>=b; j--)
			{
				System.out.printf("%d * %d = %2d\t", j, i, j*i);
			}

			System.out.println();
		}
	}
}

  문제) 별찍기 

출력예) *
          **
          ***

package sample;

public class Sample
{
	public static void main(String[] args)
	{
		int i, j;

		for( i=1; i<=3; i++)
		{
			for( j=1; j<=i; j++)
			{
				System.out.print("*");
			}

			System.out.println();
		}
	}
}

  문제) 정수 n을 입력받아서 n줄만큼 다음과 같이 출력하는 프로그램 

입력예) 5
출력예) *
          **
          ***
          ****
          *****

package sample;
import java.util.*;

public class Sample
{
	public static void main(String[] args)
	{
		Scanner scn = new Scanner(System.in);
		int i, j;
		int n = scn.nextInt();

		for( i=1; i<=n; i++)
		{
			for( j=1; j<=i; j++)
			{
				System.out.print("*");
			}

			System.out.println();
		}
	}
}

  문제) 정수를 입력받아 입력받은 행만큼 출력하는 프로그램 

입력예) 5
출력예)  *
          **
         ***
        ****
       *****

package sample;
import java.util.*;

public class Sample
{
	public static void main(String[] args)
	{
		Scanner scn = new Scanner(System.in);
		int i, j;
		int n = scn.nextInt();

		for( i=1; i<=n; i++)
		{
			for( j=1; j<=n-i; j++)
			{
				System.out.print(" ");
			}
			for( j=1; j<=i; j++)
			{
				System.out.print("*");
			}

			System.out.println();
		}
	}
}

  문제) 별찍기 

출력예) *
         ***
        *****
       *******
      *********

package sample;

public class Sample
{
	public static void main(String[] args)
	{
		int i, j;

		for( i=1; i<=5; i++)
		{
			for( j=1; j<=5-i; j++)
			{
				System.out.print(" ");
			}
			for( j=1; j<=2*i-1; j++)
			{
				System.out.print("*");
			}

			System.out.println();
		}
	}
}

  문제) for문을 이용하여 출력하는 프로그램 

출력예) a 1 2 3 4
          b c 5 6 7
          d e f 8 9
          g h i j 10

package sample;

public class Sample
{
	public static void main(String[] args)
	{
		int i, j;
		char a = 'a';
        int b = 0;

		for( i=1; i<=4; i++)
		{
			for( j=1; j<=i; j++)
			{
				System.out.print(a+++" ");
			}
			for( j=1; j<=5-i; j++)
			{
				System.out.print(++b+" ");
			}

			System.out.println();
		}
	}
}