[자바] 강의시간 이것저것 01

오늘·2021년 2월 23일
0

문제풀기

목록 보기
4/24

1. 반복문 1~100까지

(단, 1줄에 10개씩)

1-1

	int a = 1;
	while (a <= 100) {
		if (a % 10 == 1) {
			System.out.println();
			//10개 출력 후 밑으로 내려주기
		}
		System.out.print(a + " ");
		a++;
	}
}

1-2

int a = 1;
int cnt = 0;
while (a <= 100) {
	if (cnt == 10) {
		System.out.println();
		cnt = 0;
	}
	System.out.print(a + " ");
	cnt++;
	a++;
}

2. 숫자를 입력받아 상/하반기를 출력

Scanner sc = new Scanner(System.in);
System.out.println("몇 월인가요?");

int month = sc.nextInt();
String output;

month = month / 7;

switch (month) {
case 0:
	output = "상반기";
	break;
case 1:
	output = "하반기";
	break;
default:
	output = "잘못입력한듯?";
}
System.out.println(output);

3. 1~100까지 출력하고, 합 구하기

class Ch04 {
	public static void main(String[] args) {
		int a = 1;
		int cnt = 0;
		int sum = 0;
		do {
			if (cnt == 10) {
				System.out.println();
				cnt = 0;
			}

			System.out.print(a + " ");
			a++;
			cnt++;
			sum += a;

		} while (a <= 100);
		System.out.println();
		System.out.println("합 : " + sum);
	}
}

4. 합이 4000이 넘을 때 빠져나오기

4-1

class Ch04 {
	public static void main(String[] args) {
		int a = 1;
		int cnt = 0;
		int sum = 0;
		do {
			if (cnt == 10) {
				System.out.println();
				cnt = 0;
			}

			System.out.print(a + " ");
			a++;
			cnt++;
			sum += a;

		} while (sum <= 4000);
		System.out.println();
		System.out.println("합 : " + sum);
	}
}

4-2. 합이 4000이 넘으면 출력하고, 그때 a의 값을 찾아라

class Ch04 {
	public static void main(String[] args) {
		int a = 0;
		int cnt = 0;
		int sum = 0;
		do {
			if (cnt == 10) {
				System.out.println();
				cnt = 0;
			}

			System.out.print(a + " ");
			a++;
			cnt++;
			sum += a;
			if (sum >= 4000) {
				break;
			}
		} while (a <= 100);
		System.out.println();
		System.out.println("합 : " + sum);
		System.out.println("a값 : " + (a - 1));

	}
}

5. 팝업 입력으로 점수 받아 학점 출력하기

String jumsuTxt = JOptionPane.showInputDialog("점수입력");
int jumsu = Integer.parseInt(jumsuTxt);

String hakjum = "";

if (jumsu >= 90) {
	hakjum = "A";
} else if (jumsu >= 80) {
	hakjum = "A";
} else if (jumsu >= 80) {
	hakjum = "A";
} else if (jumsu >= 80) {
	hakjum = "A";
} else {
	System.out.println("조금 더 화이팅");
}
System.out.println("이번 학점은 " + hakjum + " 입니다");

6. 똑같은 숫자를 5번 반복하기

for (int i = 0; i < 5; i++) {
	System.out.println();
	for (int j = 0; j <= 100; j+= 10) {
		System.out.print(j + " ");
	}
}


7. 구구단, [5,5] 출력하기

7.1 구구단 가로로 출력하기

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

7.2 구구단 세로로 출력하기

for (int i = 1; i <= 9; i++) {
	for (int j = 1; j <= 9; j++) {
		System.out.println(i + " * " + j + " = " + i * j);
	}
	System.out.println();
}

7.3 구구단 2단 쭉, 3단 쭉.. 세로인데 가로로.. 출력하기

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

7.4 [1,1][1,2] … [5,5] 까지 출력하기

for (int i = 1; i <= 5; i++) {
	for (int j = 1; j <= 5; j++) {
		System.out.print("["+i + " , " + j +"]");
		System.out.print("\t");
	}
	System.out.println();
}


8. 1 에서 100까지의 정수출력

(단, 2,3,5,7 의 배수를 제외한 수를 한 행에 10개씩 출력)

int cnt = 0;
for (int i = 1; i <= 100; i++) {
	if (i % 2 == 0 || i % 3 == 0 || i % 5 == 0 || i % 7 == 0) {
		continue;
	}
	if (cnt == 10) {
		System.out.println();
		cnt = 0;
	}
	System.out.print(i + "\t");
	cnt++;
}


9. 숫자 피라미드 찍기 - 코드 수정 필요

9.1 피라미드 찍기(1)

for (int i = 0; i <= 7; i++) {
	for (int j = 7; j >= -7; j--) {
		if (Math.abs(j) > i) {
			System.out.print(" ");
		} else {
			System.out.printf("%d", Math.abs(j));
		}
	}
	System.out.println();
}

9.2 피라미드 찍기(2)

for (int i = 0; i <= 7; i++) {
	for (int j = 1; j <= 7 - i; j++) {
		System.out.print("  ");
	}
	for (int j = -i; j <= (i + 1); j++) {
		if (j == 1 || j == 1) {
			continue;
		}
		System.out.print(Math.abs(j) + " ");
	}
	System.out.println();
}

왜 양쪽이 숫자 대칭이 안되는지...?

9.2.1 가운데 숫자를 0이 아닌 1로 맞추면 대칭으로 출력되는디..

for (int i = 0; i <= 7; i++) {
	for (int j = 1; j <= 7 - i; j++) {
		System.out.print("  ");
	}
	for (int j = -i; j <= i; j++) {
		if (j == 1 || j == 0) {
			continue;
		}
		System.out.print(Math.abs(j) + " ");
	}
	System.out.println();
}

9.3 팝업창으로 숫자 받아 피라미드 만들기
(단, n = 100)

int n = 0;
do {
	System.out.println("<< 홀수 입력시 ");
	String nTxt = JOptionPane.showInputDialog("홀수를 입력하세요(3,5,7,9숫자 중에서 1개)" + " 만약 끝내려면 50 입력");
	n = Integer.parseInt(nTxt);

	for (int i = 0; i <= n; i++) {
		for (int j = n; j >= -n; j--) {
			if (Math.abs(j) > i)
				System.out.print(" ");
			else
				System.out.printf("%d", Math.abs(j));
		}
		System.out.println();
	}
} while (n != 50);
System.out.println("게임 끝!!");

0개의 댓글