package logic.testswitch;
import java.util.Scanner;
public class SwitchSample {
/* switch(변수 또는 계산식){ 값이 뭐냐 (변수 == 값)
* case 값: 값이 맞았을 때 실행할 문장; break;
* case 값: ............; break;
* ...
* default: 위에 제시된 모든 값이 아닐 때 실행할 문장;
* }
* default 는 사용 안 할수도 있음
* case 에 사용하는 값은 양수와 문자값, 문자열값
*/
public void test1(){
System.out.print("정수 하나 입력 : ");
int num = new Scanner(System.in).nextInt();
//num 변수가 가진 값이 뭐냐?
//if(num == 비교값){}
switch(num){
case 1: System.out.println("입장하세요.");
break;
case 2: System.out.println("줄 서세요.");
break;
case 3: System.out.println("퇴장하세요.");
break;
default: System.out.println("즐겁게 구경하세요.");
}
}
/* 입력예 :
* 첫번째 정수 : 25
* 두번째 정수 : 7
* 연산문자(+,-,*,/,%) : +
* 출력예 :
* 25 + 7 = 32
*
* 연산문자에 따라 계산식이 출력되게 구현
*/
public void calculator(){
Scanner sc = new Scanner(System.in);
System.out.print("첫번째 정수 : ");
int first = sc.nextInt();
System.out.print("두번째 정수 : ");
int second = sc.nextInt();
System.out.print("연산문자(+,-,*,/,%) : ");
char op = sc.next().charAt(0);
int result;
//지역변수(Local Variable)는 반드시 초기화함
switch(op){
case '+': result = first + second; break;
case '-': result = first - second; break;
case '*': result = first * second; break;
case '/': result = first / second; break;
case '%': result = first % second; break;
default: System.out.println("잘못된 문자가 입력되었습니다.");
System.out.println("다시 입력하십시오.");
result = 0;
}
System.out.println(first + " " + op + " " +
second + " = " + result);
}
/* 과일명과 수량을 입력받아, 가격을 계산해서 출력
* (String) (int)
* 과일에 따라 한 개의 가격 저장용 변수 :
* int price;
* 사과 1200
* 배 2500
* 포도 5000
* 오렌지 500
* 키위 350
* 그외 다른 과일은 0
*
* 총구매가격 : price * 수량
*/
public void test2(){
Scanner sc = new Scanner(System.in);
System.out.print("과일명 : ");
String fruitName = sc.next();
System.out.print("수량 : ");
int quantity = sc.nextInt();
int price;
switch(fruitName){
case "사과": price = 1200; break;
case "배": price = 2500; break;
case "포도": price = 5000; break;
case "오렌지": price = 500; break;
case "키위": price = 350; break;
default: price = 0;
}
System.out.println(fruitName +
" 한 개의 가격은 " + price + "원");
System.out.println("총 구매가격 : " +
(price * quantity));
}
public void changeIfElse(){
Scanner sc = new Scanner(System.in);
System.out.print("과일명 : ");
String fruitName = sc.next();
System.out.print("수량 : ");
int quantity = sc.nextInt();
int price;
//클래스를 자료형으로 만들어진 변수
// == 레퍼런스변수 라고 함
//기본 자료형 변수방에는 값이 기록됨
//레퍼런스변수 방에는 주소가 기록됨
if(fruitName.equals("사과"))
price = 1200;
else if(fruitName.equals("배"))
price = 2500;
else if(fruitName.equals("포도"))
price = 5000;
else if(fruitName.equals("오렌지"))
price = 500;
else if(fruitName.equals("키위"))
price = 350;
else price = 0;
System.out.println(fruitName +
" 한 개의 가격은 " + price + "원");
System.out.println("총 구매가격 : " +
(price * quantity));
}
}
'Example 2018' 카테고리의 다른 글
제어문연습프로젝트 - WhileSample 실행용 main (0) | 2018.04.12 |
---|---|
제어문연습프로젝트 - 이중 for문(*, 구구단 2~9단, 12345계단, 줄수) (0) | 2018.04.12 |
제어문연습프로젝트 - for문 Loop테스트 main (0) | 2018.04.12 |
제어문연습프로젝트 - for문(구구단, 1~100 = 5050, min_max, 짝수합계, 배수합계) (0) | 2018.04.11 |
제어문연습프로젝트 - switch문 main (0) | 2018.04.11 |
제어문연습프로젝트 - 반복문실행테스트 main (0) | 2018.04.11 |
LogicSilsub - 조회, 양수, 홍길동 프로그램 (0) | 2018.04.11 |
LogicSilsub - 제어문실습 main (0) | 2018.04.10 |