JAVA/연습문제

쉽게 배우는 자바 프로그래밍 2판 3장 프로그래밍 문제

세언이 2022. 10. 5. 10:46
반응형

# 개발 공부하는 초보자가 작성한 답안이니 정답이 아닐 수 있습니다!!!

1. 키보드로 입력한 정수가 19 이상이면 '성년'. 아니면 '미성년'을 출력하는 프로그램을 if ~ else문을 사용하여 작성해라

1번
	public static void main(String[] args) {

		Scanner juScanner = new Scanner(System.in);
		int grade = juScanner.nextInt();

		if (grade >= 19) {                             // 나이가 19살 이상이면 성년
			System.out.println("성년");
		} else {                                       // 그렇지 않다면 미성년
			System.out.println("미성년");
		}
		juScanner.close();

	}

 

 

2. 키보드로 등수를 입력받아 1등이면 '아주 잘했습니다'. 2~3등이면 '잘했습니다'. 4~6등이면 '보통입니다', 그 외 등수이면 '노력해야겠습니다'라고 출력하는 프로그램을 switch문을 사용하여 작성해라

2번
	public static void main(String[] args) {
		Scanner dngScanner = new Scanner(System.in);
		int dngSu = dngScanner.nextInt();

		switch (dngSu) {
		case 1 -> System.out.println("아주 잘했습니다.");       // 1등이면 "아주 잘했습니다"
		case 2, 3 -> System.out.println("잘했습니다");          // 2등 혹은 3등 "잘했습니다."
		case 4, 5, 6 -> System.out.println("보통입니다");       // 4등, 5등 혹은 6등 "보통입니다"
		default -> System.out.println("노력해야겠습니다");      // 그 외는 "노력해야겠습니다"

		}
	}

 

 

3. 키보드로 입력된 양의 정수 중에서 짝수만 덧셈해서 출력하는 코드를 do~while문을 사용해 작성해라. 단, 입력된 정수가 양수가 아니라면 입력을 종료한다.

3번
	public static void main(String[] args) {
		Scanner yanScanner = new Scanner(System.in);
		int yanJungSu = 0;
		int sum = 0;

		do {
			System.out.print("양의 정수를 입력하세요 : ");
			yanJungSu = yanScanner.nextInt();
			while (yanJungSu >= 0) {
				sum += yanJungSu;
				break;
			}

		} while (yanJungSu >= 0);
		System.out.println("입력한 양의 정수 중에서 짝수의 합은 " + sum);

	}

 

 

4. 다음 실행 결과를 출력하는 프로그램을 for 문을 사용해 작성해라

4번 실행결과
*
**
***
****
*****

 

	public static void main(String[] args) {
		String Star = "";
		for (int i = 0; i < 5; i++) {
			Star += "*";
			System.out.println(Star);
		}

	}

 

 

5. 각 변의 길이 합이 20 이하이며 각 변의 길이가 정수인 직각 삼각형의 모든 변을 구하라.

5번
		// 밑변 + 높이 + 대각선 <= 20
		// 밑변제곱 + 높이제곱 = 대각선 제곱

		int mit, high, daGak, mit2, high2, daGak2, count = 0;

		for (mit = 1; mit < 8; mit++) {
			for (high = 1; high < 8; high++) {
				for (daGak = 1; daGak < 8; daGak++) {
					mit2 = mit * mit;
					high2 = high * high;
					daGak2 = daGak * daGak;
					if ((((mit + high + daGak) <= 20) && (daGak2 == (mit2 + high2)))) {
						count += 1;
						System.out.printf("%d번째 방법\n", count);
						System.out.println("만족하는 밑변의 길이" + mit);
						System.out.println("만족하는 높이의 길이" + high);
						System.out.printf("만족하는 대각선의 길이 %d\n\n", daGak);
					}
				}
			}
		}

 

 

다음페이지에 계속!!

반응형