yoni

[06] if문 실습, 문자열 비교 1 ★ 본문

java of educational by contents

[06] if문 실습, 문자열 비교 1 ★

yoni-1117 2018. 12. 1. 12:26

[실습 1] 하나의 수를 입력받아 2의 배수, 3의 배수, 4의 배수, 5의 배수인지
          판단하는 프로그램을 제작하세요. 
- Hint: 참일 경우만 처리하는 4 개의 if 문 필요 
         정수형 변수 1개: 숫자 저장          
         Console에서 실행: java IfExam1 120
- 사용예) 인사 평가에서의 점수 누적

[실행 화면]
/ws_java/control/bin>java IfExam1 10
정수: 10 
2의 배수
5의 배수 
 
/ws_java/control/bin>java IfExam1 12
정수: 12 
2의 배수 
3의 배수 
4의 배수
 
/ws_java/control/bin>java IfExam1 15
정수: 15 
3의 배수 
5의 배수
 
/ws_java/control/bin>java IfExam1 120
정수: 120 
2의 배수 
3의 배수 
4의 배수
5의 배수
 
▷ IfExam1.java 
-------------------------------------------------------------------------------------

 
public class IfExam1 {
 
  public static void main(String[] args) {
    int su = Integer.parseInt(args[0]);
 
    
  }
 
}
 
 
   
-------------------------------------------------------------------------------------

   
   
 
[실습 2] 등수별 상품을 출력하는 프로그램을 제작하세요.
- Hint: if ~ else if ~, console 실행
         정수형 변수 1개: 등수 저장
         문자열 변수 1개: 상품 저장          
         Console에서 실행: java IfExam2 1 
- 기준
1등: 노트북
2등: 무한 복합 프린터
3등: 256 SSD
4등: 다음 기회에...
5등: 다음 기회에...
6등: 다음 기회에...
.....
- 사용예) 이벤트 당첨자 산출

[실행 화면]

/ws_java/control/bin>java IfExam2 1
등수: 1 상품: 노트북
 
/ws_java/control/bin>java IfExam2 2
등수: 2 상품: 무한 복합 프린터
 
/ws_java/control/bin>java IfExam2 3
등수: 3 상품: 256 SSD
 
/ws_java/control/bin>java IfExam2 4
등수: 4 상품: 다음 기회에...
 
/ws_java/control/bin>java IfExam2 50
등수: 50 상품: 다음 기회에...

  
▷ IfExam2.java
-------------------------------------------------------------------------------------

 
public class IfExam2 {
 
  public static void main(String[] args) {
    int rank = Integer.parseInt(args[0]); // 등수
    String product = "";  // 상품
    
 
 
    System.out.println("등수: " + rank + " 상품: " + product);
    
  }
 
}
 
  
 
-------------------------------------------------------------------------------------



[실습 3] 논리 연산자의 사용 
하나의 수를 입력받아 '1의자리', '10의 자리', '100의 자리', '1000의 자리'이상인지
출력하는 프로그램을 작성하세요.(음수 제외) 

- Hint: if문 사용, 1의 자리 범위: 0 ~ 9까지, &&(and) 논리 연산자 사용
         if (0 <= su && su <= 9){... 
         또는
         if (su >=0 && su <= 9){... 
         정수형 변수 1개: 숫자 저장
         문자열 변수 1개: 출력 문자열          
         Console에서 실행: java IfExam3 5
  
[실행 화면]


/ws_java/control/bin>java IfExam3 5
정수: 5
1의 자리
 
/ws_java/control/bin>java IfExam3 50
정수: 50
10의 자리
 
/ws_java/control/bin>java IfExam3 500
정수: 500
100의 자리
 
/ws_java/control/bin>java IfExam3 5000
정수: 5000
1000의 자리 이상
 
/ws_java/control/bin>java IfExam3 -5000
정수: -5000
음수는 처리하지 않습니다.
 
 
▷ IfExam3.java
-------------------------------------------------------------------------------------

 
public class IfExam3 {
 
  public static void main(String[] args) {
    int su = Integer.parseInt(args[0]); 
    String position = "";
    
 
 
    System.out.println("정수: " + su);
    System.out.println(position);
 
  }
 
}
  
 
-------------------------------------------------------------------------------------
 
 
[실습 4] 월을 입력받아 관련 문자열을 출력하는 프로그램을 작성하세요. 
- 기준 자료
  3~5월: 통영
  6~8월: 미시령 옛길 드라이브
  9~11월:
  . 9월: 설악산
  . 10월: 삼양목장
  . 11월: 내장산 단풍
  12~2월: 한계령 눈 드라이브
- else if문을 사용하세요. 9월 ~ 11월 중첩 if문 사용, 논리 연산자 &&, ||가 사용됩니다.
- 변수: 월, 여행지

 
 
[실행 화면]
/ws_java/control/bin>java IfExam4 8 

월: 8
미시령 옛길 드라이브
  
/ws_java/control/bin>java IfExam4 11 
가을 추천   ← 9 ~ 11월 가을만 출력
 
월: 11
내장산 단풍
 
/ws_java/control/bin>java IfExam4 12 

월: 12
한계령 눈 드라이브
  
▷ IfExam4.java 
-------------------------------------------------------------------------------------
 
public class IfExam4 {
 
  public static void main(String[] args) {
    int month = Integer.parseInt(args[0]); 
    String trip = "";
 
 
    
    System.out.println("월: " + month);
    System.out.println(trip);
    
  }
 
}
 
   
 
-------------------------------------------------------------------------------------
 
 
 
[실습 5] KOSA(Korea Software Industry Association) 기준 개발자 경력별
등급을 출력하는 프로그램을 제작하세요.
(2012년 폐지되었으나 많은 중/대기업은 여전히 등급을 적용하고 있음)
- 변수
  경력(int)
  등급 분류(String): 
초급 기술자 
  급여(String): 2300 ~ 4500

 
[기준]
0 ~ 5년: 초급 기술자, 2300 ~ 4500
6 ~ 8년: 중급 기술자, 4500 ~ 5500
9 ~ 11년: 고급 기술자, 5500 ~ 6500
12년 이상: 특급 기술자, 6500 ~ 7500

[실행 화면]
 

/ws_java/control/bin>java IfExam5 0
경력: 0 년
등급: 초급 기술자
년봉: 2300 ~ 4500 
 
/ws_java/control/bin>java IfExam5 6
경력: 6 년
등급: 중급 기술자
년봉: 4500 ~ 5300 
 
/ws_java/control/bin>java IfExam5 9
경력: 9 년
등급: 고급 기술자
년봉: 5500 ~ 6500
 
/ws_java/control/bin>java IfExam5 12
경력: 12 년
등급: 특급 기술자
년봉: 6500 ~ 7500
 
 
▷ IfExam5.java 
-------------------------------------------------------------------------------------
 
public class IfExam5 {
 
  public static void main(String[] args) {
    int year = Integer.parseInt(args[0]);
    String grade = "";
    String pay = "";
    
 
    
    System.out.println("경력: " + year + " 년");
    System.out.println("등급: " + grade + " 기술자");
    System.out.println("연봉: " + pay);
  }
 
}
 
  
 
-------------------------------------------------------------------------------------
       
  
  
   

[실습 6] 노트북 견적을 산출하세요.

1) 상수 형태의 문자열 비교 방법
    String str = "i3";
    if (str == "i3") { ....

2) 객체 형태의 문자열 비교 방법(class 수업 이후 사용 등장)
    String str = args[0];
    if (str.equals("i3")) { ....

    if (str.equals("i3") == true) { ....
 
- 변수: 상품명, CPU 가격

CPU 가격표 [실제 CPU 가격과 다름]
------------------
i3: 100,000 원
i5: 150,000 원
i7: 200,000 원
  
 
[실행 화면]

/ws_java/control/bin>java IfExam6 i3
CPU: i3 100000 원
------------------------
결재 금액: 100000 원
 
/ws_java/control/bin>java IfExam6 i5
CPU: i5 150000 원
------------------------
결재 금액: 150000 원
  
/ws_java/control/bin>java IfExam6 abc
판매하지않는 제품입니다.
  
▷ IfExam6.java 
-------------------------------------------------------------------------------------
 
public class IfExam6 {
 
  public static void main(String[] args) {
    String cpu = args[0];
    int cpuPrice = 0;  // int cpu_price = 0;
    
 
    /*
    CPU: i7 200000 원
    ------------------------
    결재 금액: 200000 원
    */
    System.out.println("CPU: " + cpu + " " + cpuPrice + " 원");
    System.out.println("--------------------------------");
    System.out.println("결재 금액: " + cpuPrice + " 원");    
  }
 
}
  
 
 
-------------------------------------------------------------------------------------
 
 
 
[실습 7] 노트북 견적을 산출하세요.

1) 상수 형태의 문자열 비교 방법
    String str = "i3";
    if (str == "i3") { ....

2) 객체 형태의 문자열 비교 방법(class 수업 이후 사용 등장)
    String str = args[0];
    if (str.equals("i3") == true) { ....
 
- 변수: CPU 상품명, RAM 상품명, CPU 가격, RAM 가격, 결재 금액

CPU 가격표 [실제 CPU 가격과 다름] 
------------------
i3: 100,000 원
i5: 150,000 원
i7: 200,000 원
 
RAM 기가당 1만원, 8 X 10000  →  80,000 원
 
[실행 화면]

/ws_java/control/bin>java IfExam7 i3 8
CPU: i3 100000 원
RAM: 8G 80000 원
------------------------
결재 금액: 180000 원
  
/ws_java/control/bin>java IfExam7 i5 8
CPU: i5 150000 원
RAM: 8G 80000 원
------------------------
결재 금액: 230000 원
 
/ws_java/control/bin>java IfExam7 i7 8
CPU: i7 200000 원
RAM: 8G 80000 원
------------------------
결재 금액: 280000 원
 
▷ IfExam7.java 
-------------------------------------------------------------------------------------
 
public class IfExam7 {
 
  public static void main(String[] args) {
    String cpu = args[0];
    int cpuPrice = 0;  // int cpu_price = 0;
    int ram = Integer.parseInt(args[1]);
    int ramPrice = 0;
    int totalPrice = 0; // 결재 금액
    
 
    
 
    /*
    CPU: i7 200000 원
    ------------------------
    결재 금액: 200000 원
    */
    System.out.println("CPU: " + cpu + " " + cpuPrice + " 원");
    System.out.println("RAM: " + ram + " " + ramPrice + " 원");
    System.out.println("--------------------------------");
    System.out.println("결재 금액: " + totalPrice + " 원");    
  }
 
}
 
 
 
-------------------------------------------------------------------------------------
 
 
 

 
[실습 8] 노트북 견적을 산출하세요.

1) 상수 형태의 문자열 비교 방법
    String str = "i3";
    if (str == "i3") { ....

2) 객체 형태의 문자열 비교 방법(class 수업 이후 사용 등장)
    String str = args[0];
    if (str.equals("i3") == true) { ....
 
- 변수: CPU 상품명, RAM 상품명, SSD 상품명, CPU 가격, RAM 가격, SSD 가격, 결재 금액

CPU 가격표 [실제 CPU 가격과 다름]
------------------
i3: 100,000 원
i5: 150,000 원
i7: 200,000 원
 
RAM 기가당 1만원 8 X 10000  →  80,000 원

128SSD or 128ssd: 100,000 원
256SSD or 256ssd: 150,000 원

[실행 화면]

/ws_java/control/bin>java IfExam8 i3 8 128SSD
CPU: i3 100000 원
RAM: 8G 80000 원
SSD: 128SSD 100000 원
------------------------
결재 금액: 280000 원
 
/ws_java/control/bin>java IfExam8 i5 8 128SSD
CPU: i5 150000 원
RAM: 8G 80000 원
SSD: 128SSD 100000 원
------------------------
결재 금액: 330000 원
 
/ws_java/control/bin>java IfExam8 i7 8 128SSD
CPU: i7 200000 원
RAM: 8G 80000 원
SSD: 128SSD 100000 원
------------------------
결재 금액: 380000 원
 
▷ IfExam8.java 
-------------------------------------------------------------------------------------
 
public class IfExam8 {
 
  public static void main(String[] args) {
    String cpu = args[0];
    int cpuPrice = 0;  // int cpu_price = 0;
    int ram = Integer.parseInt(args[1]);
    int ramPrice = 0;
    String ssd = args[2]; // 128SSD
    int ssdPrice = 0;
    
    int totalPrice = 0; // 결재 금액
    
 
    
    ramPrice = ram * 10000;
    

 
    totalPrice = cpuPrice + ramPrice + ssdPrice;
    /*
    CPU: i7 200000 원
    ------------------------
    결재 금액: 200000 원
    */
    System.out.println("CPU: " + cpu + " " + cpuPrice + " 원");
    System.out.println("RAM: " + ram + " " + ramPrice + " 원");
    System.out.println("SSD: " + ssd + " " + ssdPrice + " 원");
    System.out.println("--------------------------------");
    System.out.println("결재 금액: " + totalPrice + " 원");    
  }
 
}
 
 
-------------------------------------------------------------------------------------
 
 
 
[실습 9] 노트북 견적을 산출하세요.

1) 상수 형태의 문자열 비교 방법
    String str = "i3";
    if (str == "i3") { ....

2) 객체 형태의 문자열 비교 방법(class 수업 이후 사용 등장)
    String str = args[0];
    if (str.equals("i3") == true) { ....
 
- 변수: CPU 상품명, RAM 상품명, SSD 상품명, CPU 가격, RAM 가격, SSD 가격, 기타 비용, 결재 금액

CPU 가격표 [실제 CPU 가격과 다름]
------------------
i3: 100,000 원
i5: 150,000 원
i7: 200,000 원

RAM 기가당 1만원 8 X 10000  →  80,000 원

128SSD or 128ssd: 100,000 원
256SSD or 256ssd: 150,000 원

- 기타 비용을 370000 만원을 책정합니다.
- 결재 비용이 70만원을 넘어가면 5% 할인합니다.
- 5% 계산후 int형으로 형변환 필요

[실행 화면]
/ws_java/control/bin>java IfExam9 i3 4 256SSD   ←  CPU, RAM, SSD 

CPU: i3 100000 원
RAM: 8G 40000 원
SSD: 256SSD 150000 원
기타비용: 370000 원
-----------------------
결재금액: 660000 원

 
/ws_java/control/bin>java IfExam9 i5 8 256SSD   ←  CPU, RAM, SSD 

CPU: i5 150000 원
RAM: 8G 80000 원
SSD: 128SSD 100000 원
기타비용: 370000 원  
-----------------------
결재금액: 700000 원
할인가격: 665000 원  ← 700000 원이나 700000 - 35000 = 665000 ← 5 % 할인, if
 

▷ IfExam9.java 
-------------------------------------------------------------------------------------
 
public class IfExam9 {
 
  public static void main(String[] args) {
    String cpu = args[0];
    int cpuPrice = 0;  // int cpu_price = 0;
    int ram = Integer.parseInt(args[1]);
    int ramPrice = 0;
    String ssd = args[2]; // 128SSD
    int ssdPrice = 0;
    int etc = 370000; // 기타 금액
    int dc = 0;          // 할인 가격
    
    int totalPrice = 0; // 결재 금액
    
 
    
    ramPrice = ram * 10000;
    
 
    
    totalPrice = cpuPrice + ramPrice + ssdPrice + etc;


 
    /*
    CPU: i7 200000 원
    ------------------------
    결재 금액: 200000 원
    */
    System.out.println("CPU: " + cpu + " " + cpuPrice + " 원");
    System.out.println("RAM: " + ram + " " + ramPrice + " 원");
    System.out.println("SSD: " + ssd + " " + ssdPrice + " 원");
    System.out.println("기타비용: " + etc + " 원");
    System.out.println("--------------------------------");
    System.out.println("결재 금액: " + totalPrice + " 원");    
    

 
  }
 
}
 
  
 
-------------------------------------------------------------------------------------


Comments