FIF's 코딩팩토리

자바 기초 NCS교육과정(7)-조건문 문제풀이1 본문

Back-End/국비 NCS교과과정

자바 기초 NCS교육과정(7)-조건문 문제풀이1

FIF 2019. 7. 3. 13:28
반응형

이번 시간은 문제풀이 시간 입니다.

코드를 바로 보지 마시고, 충분한 시간을 가지고 고민해 보세요!

생각하는 시간이 많을수록 실력은 향상됩니다.

 

 

Prob01.java

  switch~case문을 이용해서 년도에 해당하는 띠를 구하는 프로그램을 구현하시오.
   1. 12가지 띠
      원숭이, 닭, 개, 돼지, 쥐, 소, 호랑이, 토끼, 용, 뱀, 말, 양
   2 띠구하는 공식
     year%12의 결과가
     0이면 "원숭이", 1이면 "닭"  2이면 "개",    3이면 "돼지",
     4이면 "쥐",    5이면 "소", 6이면 "호랑이", 7이면 "토끼",
     8이면 "용",    9이면 "뱀", 10이면 "말",   11이면 "양"
     
   3 출력결과
     2012년도의 태생은  용띠입니다.  
 

 

 

 

 

 

 

 

 

 

public class Prob01 {

	public static void main(String[] args) {
		int year=2016;	
		String animal="";

         //여기에 구현하시오.
		int res = year%12;
		//switch(year%12){
		switch(res){
		case 0: animal="원숭이"; break;
		case 1: animal="닭"; break;
		case 2: animal="개"; break;
		case 3: animal="돼지"; break;
		case 4: animal="쥐"; break;
		case 5: animal="소"; break;
		case 6: animal="호랑이"; break;
		case 7: animal="토끼"; break;
		case 8: animal="용"; break;
		case 9: animal="뱀"; break;
		case 10: animal="말"; break;
		case 11: animal="양";
		}
		
		
		System.out.println(year+"년도의 태생은 "+animal+"띠입니다.");
	}//end main()
}//end class

Prob02.java

  switch~case문을 이용해서 메뉴의 가격을 제공해주는 프로그램을 구현하시오.
  1 출력결과
    code변수의 값이 'A'일때  price=7500,menu="짬뽕"
    code변수의 값이 'B'일때  price=6000,menu="만두"
    code변수의 값이 'C'일때  price=5000,menu="짜장"
    code변수의 값이 'D'일때  price=4000,menu="라면"
  
  2 [출력결과]
   code의 값이 'A' 일때 => 짬뽕메뉴 가격은 7500원입니다.
   code의 값이 'B' 일때 => 만두메뉴 가격은 6000원입니다.
   code의 값이 'C' 일때 => 짜장메뉴 가격은 5000원입니다.
   code의 값이 'C' 일때 => 라면메뉴 가격은 4000원입니다.
   code의 값이  A,B,C,D가 아닐때 => 제공하지 않는 메뉴입니다.
 

 

 

 

 

 

 

 

 

 

public class Prob02 {

	public static void main(String[] args) {
		char code = 'A';
		String menu = "";
		int price = 0;

		// switch~case문을 이용해서 프로그램을 코딩하시요.
		switch (code) {
		case 'A':
			price = 7500;
			menu = "짬뽕";
			break;
		case 'B':
			price = 6000;
			menu = "만두";
			break;
		case 'C':
			price = 5000;
			menu = "짜장";
			break;
		case 'D':
			price = 4000;
			menu = "라면";
			break;
		default:
			System.out.println("제공하지 않는 메뉴입니다");
			return;
		}

		System.out.printf("%s메뉴 가격은 %d원입니다.", menu, price);
	}// end main()
}// end class

Prob03.java

  if~else문을 이용해서 물품판매에 대한 판매금액을 계산하는 프로그램을 구현하시오.
  
  1   판매수량*판매단가 금액이 
       30000미만일때 "택배" 배달이면 3000원
        "퀵"  배달이면  12000원의 배달료를 부여한다.
       단 그 외는 0원의 배달료를 부여한다.
       
  2  출력결과
     물품금액 : 20000원
     배달금액 :  3000원
     총  금액 : 23000원
      

 

 

 

 

 

 

 

 

 

 

public class Prob03 {

	public static void main(String[] args) {
		int salesCount = 2; // 판매수량
		int salesMoney = 10000; // 판매단가
		String delivery = "택배"; // 배달방법
		int product = salesCount * salesMoney; // 물품금액
		int deliveryMoney = 0; // 배달금액
		int totalMoney = 0;// 총금액

		// 여기에 구현하시오.
		// if (product < 30000){
		if (salesCount * salesMoney < 30000) {
			if (delivery == "택배") {
				deliveryMoney = 3000;
			} else if (delivery == "퀵") {
				deliveryMoney = 12000;
			}
		} else {
			deliveryMoney = 0;
		}

		totalMoney = product + deliveryMoney;
		System.out.println("물품금액 : " + product + "원");
		System.out.println("배달금액 : " + deliveryMoney + "원");
		System.out.println("총  금액 : " + totalMoney + "원");
	}// end main()
}// end class

Prob04.java

[문제] 중첩if를 이용하여 프로그램을 작성하시오
3과목의 점수를 입력받아서 합격이지 불합력인지 출력하시오
3개의 과목이 전부 40이상이어야 하고 평균이 60이어야 "합격" 출력
평균이 60이 넘지만 1개의 과목이라도 40 미만이면 "과락으로 불합격" 출력
평균이 60미만이면 "불합격" 출력

[실행결과1]
국어점수입력 : 75  
영어점수입력 : 80  
수학점수입력 : 100
 합격을 축하합니다.


[실행결과2]
국어점수입력 : 95  
영어점수입력 : 80  
수학점수입력 : 38
과락으로 불합격입니다.

[실행결과3]
국어점수입력 : 32  
영어점수입력 : 40  
수학점수입력 : 22
불합격입니다.

 

 

 

 

 

 

 

 

 

 

class Prob04 {
	public static void main(String[] args) throws IOException {

		int kor = 35;
		int eng = 40;
		int mat = 22;
		int tot = 0;
		double avg;

		System.out.printf("국어점수입력 : %d\n", kor);
		System.out.printf("영어점수입력 : %d\n", eng);
		System.out.printf("수학점수입력 : %d\n", mat);

		tot = kor + eng + mat;
		avg = tot / 3.0;

		// 여기에 구현하시오.

		if (avg >= 60.0) {
			if (!(kor >= 40 && eng >= 40 && mat >= 40)) {
				System.out.println("과락으로 불합격");
			} else {
				System.out.println("합격");
			}
		} else {
			System.out.println("불합격");
		}
	}// end main()
}// end class

Prob05.java

  switch~case문을 이용해서 차량5부제 프로그램을 구현하시오.
  
  1. 차량의 끝번호가 아래에 해당하면 해당 요일은 차량운행을 제한한다.
  
     1,6 = 월요일
     2,7 = 화요일
     3,8 = 수요일
     4,9 = 목요일
     5,0 = 금요일
     
  2. 출력결과
      차량번호의 끝자리가 5인 차량은 금요일 운행을 제한합니다.
  

 

 

 

 

 

 

 

 

 

 

 

public class Prob05 {

	public static void main(String[] args) {
		int car_num = 5;
		String day="";
		
		//여기에서 구현하세요////////////////////////////////
		
		switch (car_num){
		case 1:
		case 6: day="월요일"; break;
		case 2:
		case 7: day="화요일"; break;
		case 3:
		case 8: day="수요일"; break;
		case 4:
		case 9: day="목요일"; break;
		case 5:
		case 0: day="금요일";
		}
				
		///////////////////////////////////////////////
		System.out.printf("차량번호의 끝자리가 %d인 차량은 %s 운행을 제한합니다.",car_num,day);
	}//end main()
}//end class

Prob06.java

  직급에 따른 수령 월급
  과장 - 250
  대리 - 200
  사원 - 150
  
  초과수당 (시간단위, 소숫점은 버린다) - 
  총 20시간 이상은 20
  총 10시간 이상 20시간 미만은 10
  10시간 미만은 0
  
  직급구분은 switch~case, 초과수당은 if~else문 사용
  
  예) 직급이 대리이면 200만원의 월급을 수령한다. 초과근무는 1시간 근무 수행.
  
  [출력 결과]
  직급은 대리이며, 이번달 초과근무는 총 13시간을 하셨습니다. 
  수령하실 월급은 210만원입니다.
 

 

 

 

 

 

 

 

 

 

public class Prob06 {

	public static void main(String[] args) {
		String grade = "대리"; // 직급
		int overtime = 13; // 총 초과근무시간
		int money = 0; // 수령 월급

		/////////// 여기에서 구현하세요. /////////

		switch (grade) {
		case "과장":
			money = 250;
			break;
		case "대리":
			money = 200;
			break;
		case "사원":
			money = 150;
		}
		
		
		if (overtime >= 20) {
			money += 20;
		} else if (overtime < 10) {
		} else {
			money += 10;
		}

		//////////////////////////////////////

		System.out.printf("직급은 %s이며, 이번달 초과근무는 총 %d시간을 하셨습니다.\n", grade, overtime);
		System.out.printf("수령하실 월급은 %d만원입니다.\n", money);
	}// end main()
}// end class
반응형
Comments