Salangdung_i의 기록

JAVA 04 :: 중첩 for문 본문

BACKEND/JAVA

JAVA 04 :: 중첩 for문

Salangdung_i 2019. 8. 19. 01:01
728x90

 

이번에는 중첩 for문에 대한 공부를 해볼 차례이다.

 

for문이란 

for( 초기식 ;조건식 ;증감식) { 실행코드 }

로 구성되어 사용가사 원하는 만큼 명령들을 여러번 실행하는 제어문 으로 특정 조건이 만족되는 동안 명령을 계속적으로 실행한다. 

 for문에 대한 공부에 대한 공부는 이전 글 참조!!

https://salangdung.tistory.com/17

 

JAVA :: For문

이번에는 for문에 대한 공부를 해볼 차례이다. for문이란 for( 초기식 ;조건식 ;증감식) { 실행코드 } 로 구성되어 사용가사 원하는 만큼 명령들을 여러번 실행하는 제어문 으로 특정 조건이 만족되는 동안 명령을..

salangdung.tistory.com

 

 

 

 중첩 for문 예시 1부터 5까지 출력되는 문장을 5출 출력하기
11111
22222
33333
44444
55555

열의 코드와 행의 코드를 분리해서 보면, 열은 i=5가 되었을 때, for문을 나와 j+를하나 증가시킨다. 

처음 j=1 일 때  i=1 에서 1씩증가  11111  i=5보다 크면 for문빠져나온다. 

 j=2 일 때 i=1 에서 1씩증가  22222  i=5보다 크면 for문빠져나온다. 

j=3 일 때 i=1 에서 1씩증가 33333  i=5보다 크면 for문빠져나온다. 

 j=5일 때 i=1 에서 1씩증가  44444  i=5보다 크면 for문빠져나온다. 

 j=5 일 때i=1 에서 1씩증가  55555  i=5보다 크면 for문빠져나온다. 

 

public void method1() { 			for (int j = 1; j <= 5; j++) { 			// 열 			for (int i = 1; i <= 5; i++) { 			System.out.printf("%d", j); 			// 행 			} 			System.out.println(); 		} }

 

 

 
 

0시 0분 부터 23시 59분까지 출력하기

m의 조건을 m<60 으로 해주면 m은 0부터 ++1씩 60까지 증가한 후 60이 되었을 때, for문을 빠져나와 h+1  따라서 h의 조건도 h<24까지로 설정하면 0시 0분 부터 23시 59분까지 출력된다.

public void method8() { 		for (int h = 0; h < 24; h++) { 			for (int m = 0; m < 60; m++) { 				System.out.printf("%2d시 %2d분\n", h, m); 			}  		}  	}

 

 한 줄에 별표(*)가 5번 출력, 줄수는 사용자가 입력한 수 만큼 출력

한 줄에  별표 * 5개를 찍는 코드는

for (int i = 0; i < 5; i++) {

System.out.printf("*");
}

줄 수를 입력 받기 위해 Scanner을 선언해 주고 for(int j= 0;j<row;j++)로 처리해주고 j++일 때마다 System.out.println();으로 한줄씩 띄어주면 완료 

public void method9() { 		Scanner sc = new Scanner(System.in); 		System.out.println("출력할 줄 수 :"); 		int row = sc.nextInt();  		for (int j = 0; j < row; j++) { 			for (int i = 0; i < 5; i++) { 				System.out.printf("*"); 			} 			System.out.println(); 		} 	}

 

 

 

한줄에 별표 문자를 입력된 줄 수와 칸 수 만큼 출력
단, 줄 수와 칸수가 일치하는 위치에는 줄 번호에 대한 정수가 추력

이번 문제의 핵심은 줄 수와 칸수가 일치 할때 해당 줄번호에 대한 정수를 출력하는 것이다. 

if(줄수 == 칸수){

System.out.printf("r");

}else{

System.out.printf("*");

}

public void method10() { 		Scanner sc = new Scanner(System.in); 		System.out.println("입력줄 : "); 		int row = sc.nextInt(); 		System.out.println("입력칸 : "); 		int col = sc.nextInt(); 		int result = 0;  		for (int r = 1; r <= row; r++) { 			for (int c = 1; c <= col; c++) { 				{ 					if (r == c) { 						System.out.print(r); 					} else { 						System.out.printf("*"); 					} 				} 			} 			System.out.println(); 		} 	}

"Icon made by Pixel perfect from www.flaticon.com"

728x90

'BACKEND > JAVA' 카테고리의 다른 글

JAVA 11 :: 자바로 만드는 게임(베스킨라빈스31)  (0) 2019.08.24
JAVA 05 :: While  (0) 2019.08.21
JAVA 03 :: For문  (0) 2019.08.17
JAVA 02 :: 계산기 (Scanner)  (0) 2019.08.11
JAVA 01 :: Hello Java 출력하기, 사칙연산  (0) 2019.08.10