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++;
}
// 문제 : 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);
}
}
이렇게하면 변수만 쉽게 바꿔주면서 원하는 숫자를 입력할 수 있다.
//구구단 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();
}
// 반복문 : while
while문 형태
반복인자의 선언 및 초기값 설정;
while (실행(종결)조건식) {
반복인자값 증감설정(선택적);
실행문(들);
반복인자값 증감설정(선택적);
}
for (int i = 1; i <= 10; i++) {
System.out.print(i + " ");
}
System.out.println();
int i = 1;
while (i <= 10) {
System.out.print(i + " ");
i++;
}
i = 0;
while (i < 10) {
i++; // 초기값에 따라 증감식위치를 바꿔줘야 된다
System.out.print(i + " ");
}
int num = 1;
while (true) { //true는 항상 실행(무한), break(중단)문 필요
System.out.print(num + " ");
if (num == 10) break; //num = 1이므로 아직 무한
num++; //break문 위에 있으면 9까지 출력
}
num = 0;
while (num < 10) {
num++;
if (num == 5) continue;
System.out.println(num);
}
// 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명칭부여된) 중단
}
}