(국비) Day5

DeokHun KIM·2022년 7월 5일
0

java

목록 보기
8/30

4일차 실습문제

//문제 4-----------------
//1 : (1 + 빈칸) + 줄바꿈
//1 2 : (1 + 빈칸) + (2 + 빈칸) + 줄바꿈
//1 2 3 : (1 + 빈칸) + (2 + 빈칸) + (3 + 빈칸) + 줄바꿈
//1 2 3 4 : (1 + 빈칸) + (2 + 빈칸) + (3 + 빈칸) + (4 + 빈칸) + 줄바꿈

int numberCnt = 1;
		for (int line = 1; line <= 4; line++) {
			for (int num = 1; num <= numberCnt; num++) {
				System.out.print(num + " ");
			}
			System.out.println();
			numberCnt++;
		}

//문제 5-----------------
//1 : (1 + 빈칸) + 줄바꿈
//2 3 : (1 + 빈칸) + (2 + 빈칸) + 줄바꿈
//4 5 6 : (1 + 빈칸) + (2 + 빈칸) + (3 + 빈칸) + 줄바꿈
//7 8 9 10 : (1 + 빈칸) + (2 + 빈칸) + (3 + 빈칸) + (4 + 빈칸) + 줄바꿈

numberCnt = 1;
		int dispNum = 1;
		for (int line = 1; line <= 4; line++) {
			//dispNum = 1; 이렇게하면 첫시작이 1이라서 4번문제처럼 된다
			//int dispNum = 1; 전체에 변수를 선언할 필요 없이 for문 안에다가 선언해도 된다
			for (int num = 1; num <= numberCnt; num++) {
				System.out.print(dispNum + " ");
				dispNum++;
			}
			System.out.println();
			numberCnt++;
		}

Ex07_for_exam

// 문제 : 1~10까지 숫자중 짝수 출력
// 2로 나누어서 나머지가 0인 숫자 짝수(2의 배수)

for (int i = 1; i <= 10; i++) {
	if (i % 2 == 0) {
	System.out.print(i + " ");
	}
}

// 문제 : 1~10까지 숫자주 3의 배수인 숫자를 출력

for (int i = 1; i <= 10; i++) {
	if (i % 3 == 0) {
	System.out.print(i + " ");
	}
}

// 문제 : 900~1000 까지의 숫자 중 17의 배수인 숫자 출력

for (int i = 900; i <= 1000; i++) {
	if (i % 17 == 0) {
	System.out.print(i + " ");
	}
}

// 문제 : 2000~3000 까지의 숫자 중 19의 배수인 숫자 출력

for (int i = 2000; i <= 3000; i++) {
	if (i % 19 == 0) {
	System.out.print(i + " ");
	}
}

//2000~3000 27의 배수의 개수를 구하라

int count = 0;
System.out.println("=== 27의 배수는 몇개인가 ===");
for (int i = 2000; i <= 3000; i++) {
	if (i % 27 == 0) {
	count++;
	}
}
System.out.println("27의 배수 몇개 : " + count);

//변수 활용

int startNum = 2000;
int emdNum = 3000;
int divNum = 29;
		
for (int i = startNum; i <= emdNum; i++) {
	if (i % divNum == 0) {
	System.out.println(divNum + "의 배수 : " + i);
	}
}

이렇게하면 변수만 쉽게 바꿔주면서 원하는 숫자를 입력할 수 있다.

Ex08_gugudan2

//구구단 2~9단 출력
//2x1=2 3x1=3 ... 9x1=9 의 형태

for (int i = 2; i <= 9; i++) {
	System.out.print(i + "단" + "\t" );
}
	System.out.println();
		
for (int i = 1; i <= 9; i++) {
	for (int dan = 2; dan <= 9; dan++) {
	System.out.print(dan + "*" + i + "=" + (i * dan) + "\t");
	}
	System.out.println();
}

Ex09_while

// 반복문 : while
while문 형태
반복인자의 선언 및 초기값 설정;
while (실행(종결)조건식) {
반복인자값 증감설정(선택적);
실행문(들);
반복인자값 증감설정(선택적);
}

  • 1~10 출력
for (int i = 1; i <= 10; i++) {
	System.out.print(i + " ");
}
System.out.println();
  • while 문으로 작성
int i = 1;
while (i <= 10) {
	System.out.print(i + " ");
	i++;
}
i = 0;
while (i < 10) {
	i++;   // 초기값에 따라 증감식위치를 바꿔줘야 된다 
	System.out.print(i + " ");
}
  • while문 내에서 break
 	int num = 1;
	while (true) {     //true는 항상 실행(무한), break(중단)문 필요
	System.out.print(num + " ");
	if (num == 10) break;  //num = 1이므로 아직 무한
	num++;     //break문 위에 있으면 9까지 출력
	}
  • while문 내에서 continue
    //continue 문 이전에 조건식 사용변수 값을 변경 처리할 것
		num = 0;
		while (num < 10) {
			num++;
			if (num == 5) continue; 
			System.out.println(num);
		}
  • do ~ while
    do ~ while : 무조건 한 번은 실행
    반복인자의 선언 및 초기값 설정;
    do {
    증감치 설정(실행문 전/후 선택적)
    실행문(들);
    } while (조건식);

// 1~10 까지 출력

		int doNum = 1;
		do {
			System.out.println("do~while : " + doNum);
			doNum++;
		} while (doNum <= 10);
		doNum = 0;
		do {
			doNum++;
			System.out.println("do~while : " + doNum);
		} while (doNum < 10);

//while문으로 별찍기 해보기

		int star = 1;
		do {
			star++;
			System.out.println("*****");
		} while (star <= 5);

// 중첩 반복문을 모두 종료하는 경우(위치지정 후 break문 사용)
// 라벨 지정

		outFor: 
		for (int out = 1; out <= 3; out++) {
			for (int in = 1; in <= 5; in++) {
				System.out.println("out : " + out + ", in : " + in);
				if (in == 3) break outFor; //외부 for문(outFor명칭부여된) 중단
			}
		}

0개의 댓글