<명품 JAVA Programming> - Chapter2 연습문제(1, 2, 3, 4, 5, 6)

1. Scanner 클래스를 이용하여 원화를 입력받아 달러로 바꾸어 다음 예시와 같이 출력하는 프로그램을 작성하라. $1 = 1100원으로 가정하고 계산하라.

 

 

package chapter2;
import java.util.Scanner;

public class chapter2_1 {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		System.out.print("원화를 입력하세요단위 원) >>>");
		int won = scanner.nextInt();
		
		System.out.println(won + "원은 $" + won / 1100.0 + "입니다.");
		
		scanner.close();
	}
}

2. Scanner 클래스를 이용하여 2자리의 정수(10~99사이)를 입력받고, 십의 자리와 1의 자리가 같은지 판별하여 출력하는 프로그램을 작성하라.

 

package chapter2;
import java.util.Scanner;
public class chapter2_2 {
	public static void main(String args[]) {
		Scanner scanner = new Scanner(System.in);
		System.out.print("2자리수 정수 입력(10~99) >> ");
		int integer = scanner.nextInt();
		
		if(integer / 10 == integer % 10) 
			System.out.println("Yes! 10의 자리와 1의 자리가 같습니다.");
		
		scanner.close();
	}
}

 

3. Scanner 클래스를 이용하여 정수로 된 돈의 액수를 입력받아 오만 원권, 만 원권, 500원짜리 동전, 100원짜리 동전,  50원짜리 동전, 10원짜리 동전, 1원짜리 동전 각 몇개로 변화되는지 출력하라.

 

package chapter2;
import java.util.Scanner;
public class chapter2_3 {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		System.out.print("금액을 입력하시오>>");
		int price = scanner.nextInt();
		if (price / 50000 > 0) {
			System.out.println("오만원권 " + price / 50000 + "매");
			price %= 50000;
		}
		if (price / 10000 > 0) {
			System.out.println("만원권 " + price / 10000 + "매");
			price %= 10000;
		}
		if (price / 1000 > 0) {
			System.out.println("천원권 " + price / 1000 + "매");
			price %= 1000;
		}
		if (price / 100 > 0) {
			System.out.println("백원 " + price / 100 + "매");
			price %= 100;
		}
		if (price / 50 > 0) {
			System.out.println("오십원 " + price / 50 + "매");
			price %= 50;
		}
		if (price / 10 > 0) {
			System.out.println("십원 " + price / 10 + "매");
			price %= 10;
		}
		if (price > 0)
			System.out.println("일원 " + price + "매");
		
		scanner.close();
	}
}

 


 

4. Scanner 클래스로 정수 3개를 입력받고 3개의 숫자 중 중간 크기의 수를 출력하라. 평균값을 구하는 것이 아님에 주의하라.

 

package chapter2;
import java.util.Scanner;
public class chapter2_4 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner scanner = new Scanner(System.in);
		
		System.out.print("정수 3개 입력>>");
		int n1 = scanner.nextInt();
		int n2 = scanner.nextInt();
		int n3 = scanner.nextInt();
		
		if(n1 > n2 && n1 < n3)
			System.out.println("중간 값은 " + n1);
		else if (n2 < n3)
			System.out.println("중간 값은 " + n2);
		else
			System.out.println("중간 값은 " + n3);
		
		scanner.close();
		
	}

}

 


 

5. Scanner를 이용하여 삼각형의 변의 길이를 나타내는 정수를 3개 입력받고 이 3개의 수로 삼각형을 만들 수 있는지 판별하라. 삼각형이 되려면 두 변의 합이 다른 한 변의 합보다 커야 한다.

 

package chapter2;
import java.util.Scanner;
public class chapter2_5 {
	public static void main(String args[]) {
		Scanner scanner = new Scanner(System.in);
		System.out.print("정수 3개를 입력하시오>> ");
		int n1 = scanner.nextInt();
		int n2 = scanner.nextInt();
		int n3 = scanner.nextInt();
		
		if(n1 < n2 + n3)
			System.out.println("삼각형이 됩니다.");
		else if (n2 < n1 + n3)
			System.out.println("삼각형이 됩니다.");
		else if(n3 < n1 + n2)
			System.out.println("삼각형이 됩니다.");
		
		scanner.close();
	}
}

 


 

6. 369게임을 간단하게 작성해보자. 1~99까지의 정수를 입력받고 정수에 3, 6, 9 중 하나가 있는 경우는 "박수짝"을 출력하고 두 개 있는 경우는 "박수짝짝"을 출력하는 프로그램을 작성하라. 예를 들면, 키보드로 입력된 수가 13인 경우 "박수짝"을, 36인 경우 "박수짝짝"을 출력하면 된다.

 

package chapter2;
import java.util.Scanner;
public class chapter2_6 {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		
		System.out.print("1~99사이의 정수를 입력하시오>> ");
		int n = scanner.nextInt();
		
		int a = n / 10;
		int b = n % 10;
		
		if (a > 0 && b > 0 && a % 3 == 0 && b % 3 == 0)
			System.out.println("박수짝짝");
		else if (a > 0 && a % 3 == 0)
			System.out.println("박수짝");
		else if (b > 0 && b % 3 == 0)
			System.out.println("박수짝");
		
		scanner.close();
		
	}
}