[실습 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 + " 원");
}
}
-------------------------------------------------------------------------------------