본문 바로가기
Programming Study/절대JAVA

[절대JAVA]3장 프로그래밍 연습문제(2)

by 푸고배 2018. 9. 19.

6. 천만 이하의 정수 하나를 입력 받아 우리가 사용하는 단위인 만, 천, 백, 십, 일 단위로 출력하는 프로그램을 작성하시오.

- 즉 입력이 2347653이면 "234만 7천 6백 5십 3입니다."로 출력

<소스코드>

package Chapter3_6;

import java.util.Scanner;

public class Chapter3_6 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner input = new Scanner(System.in);
		int num = input.nextInt();
		int tmp; // 임시 변수
		int mm=num/10000; //만의 자리 수
		tmp=num%10000;
		int k=tmp/1000; //천의 자리 수
		tmp=num%1000;
		int m=tmp/100; //백의 자리 수
		tmp=num%100;
		int t=tmp/10; // 십의 자리 수
		int n=tmp%10; //일의 자리 수
		System.out.println(mm+"만 "+k+"천 "+m+"백 "+t+"십 "+n+"입니다.");
	}

}

 

7. 조건연산자를 이용하여 임의의 달을 입력받아 이 달이 상반기면 "상반기 입니다."를 하반기이면 "하반기입니다."를 출력하는 프로그램을 작성하시오.

<소스코드>

package Chapter3_7;

import java.util.Scanner;

public class Chapter3_7 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner input = new Scanner(System.in);
		int month = input.nextInt();
		if(month>=1&&month<=6) {
			System.out.println("상반기입니다.");
		} else if(month>=7&&month<=12) {
			System.out.println("하반기입니다.");
		} else {
			System.out.println("잘못된 숫자를 입력하였습니다.");
		}
	}

}

 

8. 세 수를 입력받아 가장 큰 수를 구하는 프로그램을 조건 연산자를 이용하여 작성하시오.

<소스코드>

package Chapter3_8;

import java.util.Scanner;

public class Chapter3_8 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner input = new Scanner(System.in);
		int a = input.nextInt();
		int b = input.nextInt();
		int c = input.nextInt();
		int max;
		
		if(a>b) {
			if(c>a) {
				max=c;
			} else {
				max=a;
			}
		} else {
			if(c>b) {
				max=c;
			} else {
				max=b;
			}
		}
		System.out.println(max);
	}

}

 

9. 표준입력으로 키와 몸무게를 실수로 입력받아 다음 조건을 이용하여 정상인지, 비만인지 출력하는 프로그램을 작성하시오.

- (몸무게 <= (키 - 100) * 0.9)이면 정상, 아니면 비만

<소스코드>

package Chapter3_9;

import java.util.Scanner;

public class Chapter3_9 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner input = new Scanner(System.in);
		int cm = input.nextInt();
		int kg = input.nextInt();
		
		if(kg<=(cm-100)*0.9) {
			System.out.println("정상");
		} else {
			System.out.println("비만");
		}
	}

}

 

10. 지불할 금액을 정수로 입력받아 화폐단위가 각각 몇 개씩 필요한지 출력하는 프로그램을 작성하시오.

- 입력은 최소 천 원 단위로 입력

- 화폐단위는 50000, 10000, 5000, 1000 4가지이며, 가능한 큰 화폐단위로 지불

- 입력이 236,000이면 50000원권 4개, 10000원권 3개, 5000원권 1개, 1000원권 1개

<소스코드>

package Chapter3_10;

import java.util.Scanner;

public class Chapter3_10 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner input = new Scanner(System.in);
		int money=input.nextInt();
		int tmp=money;
		int a,b,c,d; // 차례대로 50000, 10000, 5000, 1000 원 권 개수
		if(money>=1000) {
			a=tmp/50000;
			tmp%=50000;
			b=tmp/10000;
			tmp%=10000;
			c=tmp/5000;
			tmp%=5000;
			d=tmp/1000;
			System.out.println("50000원권 "+a+"개, 10000원권 "+b+"개, 5000원권 "+c+"개, 10000원권 "+d+"개");
		}else {
			System.out.println("최소 천 원 단위로 입력해주세요.");
		}
	}

}

 

참고자료 : 인피니티북스 절대 JAVA

github 주소 : 

https://github.com/ch1517/Network-programming/tree/master/Chapter3

반응형

댓글