- 도쿄올림픽2020
- 지역변수
- 오라클SQL 설치
- 윈도우xp 로그인실패
- 404 찾을수없음
- label태그
- RPG MAKER XP 무료 이용
- 500 내부서버오류
- RPG MAKER XP 크랙버전
- 자바 반복문
- 윈도우xp 비번 변경
- 전역변수
- option태그
- 오라클데이터베이스 설치
- 자바스크립트
- 404 오류
- 윈도우xp비번분실
- html 상태코드
- 이클립스
- RPG MAKER XP 다운로드
- 오라클db
- 한컴시리얼키
- 윈도우xp 초기화
- RPG MAKER XP 크랙
- html 특수문자 입력
- 윈도우xp 비번 초기화
- 윈도우xp 비밀번호 변경
- RPG MAKER XP 무료 다운
- JSP
- 오라클db 설치
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- Today
- Total
Daily IT
5. if문 연습 본문
*참고*
도스창에서 사용자의 입력값을 받기
0. 문자열 받기: String 변수 = args[0]; //문자열 그대로 입력 받기.
1. 문자열을 정수로 받기: int 변수 = Integer.parseInt(args[1]); //여기서 인수로는 문자가 입력될 것임.
2. 정수를 문자열로 받기: String 변수 = Integer.valueOf(args[2]; //여기서 인수에는 숫자가 입력될 것임.
[실습 1] 하나의 수를 입력받아 2의 배수, 3의 배수, 4의 배수, 5의 배수인지 판단하는 프로그램을 제작하세요.
- Hint: 참일 경우만 처리하는 4 개의 if 문 필요
정수형 변수 1개: 숫자 저장
Console에서 실행: java IfExam1 120
- 사용예) 인사 평가에서의 점수 누적
[실행 화면]
/ws_frame/If/bin>java IfExam1 10
정수: 10
2의 배수
5의 배수
/ws_frame/If/bin>java IfExam1 12
정수: 12
2의 배수
3의 배수
4의 배수
/ws_frame/If/bin>java IfExam1 15
정수: 15
3의 배수
5의 배수
/ws_frame/If/bin>java IfExam1 120
정수: 120
2의 배수
3의 배수
4의 배수
5의 배수
-------------------------------------------------------------------------------------
package If;
public class IfExam1 {
public static void main(String[] args) {
int number = Integer.parseInt(args[0]);
if (number % 2 == 0) {
System.out.println("2의 배수");
}
if (number % 3 == 0) {
System.out.println("3의 배수");
}
if (number % 4 == 0) {
System.out.println("4의 배수");
}
if (number % 5 == 0) {
System.out.println("5의 배수");
}
}
}
-------------------------------------------------------------------------------------
[실습 2] 등수별 상품을 출력하는 프로그램을 제작하세요.
- 사용예) 이벤트 당첨자 산출
[실행 화면]
java If.IfExam2 1
등수: 1 상품: 노트북
java If.IfExam2 2
등수: 2 상품: 무한 복합 프린터
java If.IfExam2 3
등수: 3 상품: 그래픽카드
java If.IfExam2 4
등수: 4 상품: USB 디스크
java If.IfExam2 5
등수: 5 상품: 다음 기회에...
-------------------------------------------------------------------------------------
package If;
public class IfExam2 {
public static void main(String[] args) {
int rank = Integer.parseInt(args[0]);
String prize = "";
if (rank == 1) {
prize = "노트북";
} else if (rank == 2) {
prize = "무한 복합 프린터";
} else if (rank == 3) {
prize = "그래픽카드";
} else if (rank == 4) {
prize = "USB 디스크";
} else {
prize = "다음 기회에...";
}
System.out.println("등수: " + rank + " 상품: " + prize);
}
}
-------------------------------------------------------------------------------------
[실습 3] 논리 연산자의 사용 실습
하나의 수를 입력받아 '1의자리', '10의 자리', '100의 자리', '1000의 자리'이상인지
출력하는 프로그램을 작성하세요(음수 제외).
[실행 화면]
java If.IfExam3 5
정수: 5
결과: 1의 자리
java If.IfExam3 50
정수: 50
결과: 10의 자리
java If.IfExam3 500
정수: 500
결과: 100의 자리
java If.IfExam3 5000
정수: 5000
결과: 1000의 자리 이상
java If.IfExam3 -5000
정수: -5000
결과: 해당되는 자릿수가 없습니다.
-------------------------------------------------------------------------------------
package If;
public class IfExam3 {
public static void main(String[] args) {
int number = Integer.parseInt(args[0]);
String digit = "";
if (0< number && number < 10) {
digit = "1의 자리";
} else if (10 <= number && number <100) {
digit = "10의 자리";
} else if (100 <= number && number < 1000) {
digit = "100의 자리";
} else if (1000 <= number) {
digit = "1000의 자리 이상";
} else {
digit = "해당되는 자릿수가 없습니다.";
}
System.out.println("정수: " + number);
System.out.println("결과: " + digit);
}
}
-------------------------------------------------------------------------------------
[실습 4] 월을 입력받아 관련 문자열을 출력하는 프로그램을 작성하세요.
[실행 화면]
java If.IfExam4 8
월: 8
결과: 호주
java If.IfExam4 11
월: 11
결과: 괌
java If.IfExam4 12
월: 12
결과: 제주도
-------------------------------------------------------------------------------------
package If;
public class IfExam4 {
public static void main(String[] args) {
int month = Integer.parseInt(args[0]);
String trip = "";
if (3 <= month && month <= 5) {
trip = "캐나다";
}
if (6 <= month && month <= 8) {
trip = "호주";
}
if (month == 9 ) {
trip = "터키";
} else if (month == 10) {
trip = "말레이시아";
} else if (month == 11) {
trip = "괌";
}
if (month == 12 || month == 1 || month == 2) {
trip = "제주도";
}
System.out.println("월: " + month);
System.out.println("결과: " + trip);
}
}
-------------------------------------------------------------------------------------
[실습 5] KOSA(Korea Software Industry Association) 기준 개발자 경력별 등급을 출력하는 프로그램을 제작하세요.
(2012년 폐지되었으나 많은 중/대기업은 여전히 등급을 적용하고 있음)
- 변수
경력(int): 0 ~
등급(String): 초급 기술자
년봉(String): 2300 ~ 4500
[기준]
0 ~ 5년: 초급 기술자, 2300 ~ 4500 <-- String 타입으로 처리 가능
6 ~ 8년: 중급 기술자, 4500 ~ 5500
9 ~ 11년: 고급 기술자, 5500 ~ 6500
12년 이상: 특급 기술자, 6500 ~ 7500
[실행 화면]
java If.IfExam5 0
경력: 0 년
등급: 초급 기술자
년봉: 2300 ~ 4500
java If.IfExam5 6
경력: 6 년
등급: 중급 기술자
년봉: 4500 ~ 5500
java If.IfExam5 9
경력: 9 년
등급: 고급 기술자
년봉: 5500 ~ 6500
java If.IfExam5 12
경력: 12 년
등급: 특급 기술자
년봉: 6500 ~ 7500
-------------------------------------------------------------------------------------
package If;
public class IfExam5 {
public static void main(String[] args) {
int exp = Integer.parseInt(args[0]);
String grade = "";
String salary = "";
if (0<= exp && exp <= 5) {
grade = "초급 기술자";
salary = "2300~4500";
} else if (6<= exp && exp <= 8) {
grade = "중급 기술자";
salary = "4500~5500";
} else if (9<= exp && exp <= 11) {
grade = "고급 기술자";
salary = "5500~6500";
} else if (12<= exp) {
grade = "특급 기술자";
salary = "6500~7500";
}
System.out.println("경력: " + exp);
System.out.println("등급: " + grade);
System.out.println("년봉: " + salary);
if (exp < 0) {
System.out.println("정수값만 입력하세요");
}
}
}
-------------------------------------------------------------------------------------
[실습 6] 노트북 견적을 산출하세요.
1) 객체 형태의 문자열 비교 방법
String str = args[0];
if (str.equals("i3")) { ....
또는
if (str.equals("i3") == true) { ....
2) 상수 형태의 문자열 비교 방법(배열 및 new를 이용한 문자열 생성에서는 에러 발생)
String str = "i3";
if (str == "i3") { ....
- 변수: 상품명, CPU 가격, 결재 금액
CPU 가격표
------------------
i3: 100,000 원
i5: 150,000 원
i7: 200,000 원
[실행 화면]
java If.IfExam6 i3
CPU: i3 100000 원
------------------------
결재 금액: 100000 원
java If.IfExam6 i5
CPU: i5 150000 원
------------------------
결재 금액: 150000 원
java If.IfExam6 i7
CPU: i7 200000 원
------------------------
결재 금액: 200000 원
-------------------------------------------------------------------------------------
package If;
public class IfExam6 {
public static void main(String[] args) {
String cpu = args[0];
String cpuPrice = "";
if (cpu.equals("i3")) {
cpuPrice = "100,000원";
}
if (cpu.equals("i5")) {
cpuPrice = "150,000원";
}
if (cpu.equals("i7")) {
cpuPrice = "200,000원";
}
System.out.println("CPU :" + cpu + " " + cpuPrice);
System.out.println("--------------");
System.out.println("결재 금액 : " + cpuPrice);
}
}
-------------------------------------------------------------------------------------
[실습 7] 노트북 견적을 산출하세요.
- 변수: CPU 상품명, RAM 상품명, CPU 가격, RAM 가격, 결제 금액
CPU 가격표
------------------
i3: 100,000 원
i5: 150,000 원
i7: 200,000 원
RAM 기가당 1만원, 8 X 10000 → 80,000 원
[실행 화면]
java If.IfExam7 i3 8
CPU: i3 100000 원
RAM: 8G 80000 원
------------------------
결재 금액: 180000 원
java If.IfExam7 i5 8
CPU: i5 150000 원
RAM: 8G 80000 원
------------------------
결재 금액: 230000 원
java If.IfExam7 i7 8
CPU: i7 200000 원
RAM: 8G 80000 원
------------------------
결재 금액: 280000 원
-------------------------------------------------------------------------------------
public class IfExam7 {
public static void main(String[] args) {
String cpu = args[0];
int ram = Integer.parseInt(args[1]);
int cpu_price = 0;
int ram_price = ram * 10000 ;
if (cpu.equals("i3")) {
cpu_price = 100000 ;
} else if (cpu.equals("i5")) {
cpu_price = 150000 ;
} else if (cpu.equals("i7")) {
cpu_price = 200000 ;
}
System.out.println("CPU : " + cpu + " " + cpu_price + "원");
System.out.println("RAM : " + ram + "G " + ram_price);
System.out.println("-------------------");
System.out.println("결제 금액 : " + (cpu_price+ram_price) + "원");
}
}
-------------------------------------------------------------------------------------
[실습 8] 노트북 견적을 산출하세요.
- 변수: 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 원
512SSD or 512ssd: 200,000 원
[실행 화면]
java If.IfExam8 i3 8 128SSD
CPU: i3 100000 원
RAM: 8G 80000 원
SSD: 128SSD 100000 원
------------------------
결재 금액: 280000 원
java If.IfExam8 i5 8 256ssd
CPU: i5 150000 원
RAM: 8G 80000 원
SSD: 256ssd 150000 원
------------------------
결재 금액: 380000 원
java If.IfExam8 i7 8 512SSD
CPU: i7 200000 원
RAM: 8G 80000 원
SSD: 512SSD 200000 원
------------------------
결재 금액: 480000 원
-------------------------------------------------------------------------------------
public class IfExam8 {
public static void main(String[] args) {
String cpu = args[0];
int ram = Integer.parseInt(args[1]);
String ssd = args[2];
int cpu_price = 0;
int ram_price = ram * 10000;
int ssd_price = 0;
int tot = 0;
if (cpu.equals("i3")) {
cpu_price = 100000 ;
} else if (cpu.equals("i5")) {
cpu_price = 150000 ;
} else if (cpu.equals("i7")) {
cpu_price = 200000 ;
}
if (ssd.equals("128SSD") || ssd.equals("128ssd")) {
ssd_price = 100000;
} else if (ssd.equals("256SSD") || ssd.equals("256ssd")) {
ssd_price = 150000;
} else if (ssd.equals("512SSD") || ssd.equals("512ssd")) {
ssd_price = 200000;
}
tot = cpu_price+ram_price+ssd_price;
System.out.println("CPU : " + cpu + " " + cpu_price + "원");
System.out.println("RAM : " + ram + "G " + ram_price+ "원");
System.out.println("ssd : " + ssd +" " + ssd_price+ "원");
System.out.println("-------------------");
System.out.println("결제 금액 : " + tot + "원");
}
}
-------------------------------------------------------------------------------------
[실습 9] 노트북 견적을 산출하세요.
- 기타 비용을 370000 만원을 책정합니다.
- 결재 비용이 70만원을 넘어가면 5% 할인합니다.
- 변수: 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 원
512SSD or 512ssd: 200,000 원
[실행 화면]
java If.IfExam9 i3 4 256SSD ← CPU, RAM, SSD
CPU: i3 100000 원
RAM: 4G 40000 원
SSD: 256SSD 150000 원
기타비용: 370000 원
-----------------------
결재금액: 660000 원
java If.IfExam9 i5 8 512SSD ← CPU, RAM, SSD
CPU: i5 150000 원
RAM: 8G 80000 원
SSD: 512SSD 200000 원
기타비용: 370000 원
-----------------------
결재금액: 800000 원
할인가격: 760000 원 ← 800000 원이나 800000 - 40000 = 760000 ← 5 % 할인, if
-------------------------------------------------------------------------------------
public class IfExam9 {
public static void main(String[] args) {
String cpu = args[0];
int ram = Integer.parseInt(args[1]);
String ssd = args[2];
int cost_c = 0, cost_r = ram * 10000, cost_s = 0, cost_e = 370000;
if(cpu.equals("i3") || cpu.equals("i5") || cpu.equals("i7")) {
if(ram > 0 && ram % 2 == 0) {
if (ssd.equals("128SSD") || ssd.equals("128ssd") ||
ssd.equals("256SSD") || ssd.equals("256ssd") ||
ssd.equals("512SSD") || ssd.equals("512ssd")) {
if(cpu.equals("i3")) {
cost_c = 100000;
}
if(cpu.equals("i5")) {
cost_c = 150000;
}
if(cpu.equals("i7")) {
cost_c = 200000;
}
if(ssd.equals("128SSD") || ssd.equals("128ssd")) {
cost_s = 100000;
}
if(ssd.equals("256SSD") || ssd.equals("256ssd")) {
cost_s = 150000;
}
if(ssd.equals("512SSD") || ssd.equals("512ssd")) {
cost_s = 200000;
}
int total_cost = cost_c + cost_r + cost_s + cost_e; //합산
//최종 출력
System.out.println("CPU: " + cpu + " " + cost_c + " 원");
System.out.println("RAM: " + ram + "G " + cost_r + " 원");
System.out.println("SSD: " + ssd + " " + cost_s + " 원");
System.out.println("기타비용: " + cost_e + " 원");
System.out.println("-----------------------");
System.out.println("결제금액: " + total_cost + " 원");
if(total_cost >= 700000) { //70만원 이상 구매시 5%할인
total_cost -= total_cost * 0.05;
System.out.println("할인가격: " + total_cost + " 원");
}
} else {
System.out.println("잘못된 SSD 값 입력입니다.");
System.out.println("\'용량SSD\'의 형식으로 입력해주세요. (선택 가능 용량: 128 / 256 / 512)");
}
} else {
System.out.println("잘못된 ram 값 입력입니다.");
System.out.println("ram 용량은 짝수로 입력해 주세요.");
}
} else {
System.out.println("잘못된 cpu 값 입력입니다.");
System.out.println("i3, i5, i7 제품군 중에서 입력해 주세요.");
}
}
}
-------------------------------------------------------------------------------------
'개발자 영역 > 자바' 카테고리의 다른 글
6. if문 연습2 (0) | 2020.02.24 |
---|---|
4. if문 (0) | 2020.02.24 |
3. 자바 구조/컴파일/자바 타입/연산자/사칙연산 (0) | 2020.02.23 |
2. 이클립스 설치 (0) | 2020.02.23 |
1. 자바 설치 및 삭제 (0) | 2020.02.23 |