카페 주문하기
package play;
import java.util.Scanner;
public class A04_switch01 {
public static void main(String[] args) {
//카페 메뉴
Scanner sc= new Scanner(System.in);
String order;
String menu = "===================\n"
+ "| 아메리카노 1500원|\n"
+ "| 카페라떼 2000원|\n"
+ "| 카푸치노 2000원|\n"
+ "| 바닐라라떼 3000원|\n"
+ "|카라멜 마끼야또 3000원|\n"
+ "==================";
System.out.println("안녕하세요. 카페입니다. 메뉴를 골라주세요");
System.out.println(menu);
order = sc.next();
int price = 0;
switch (order) {
case "아메리카노":
price = 1500;
break;
case "카페라떼":
case "카푸치노":
price = 2000;
break;
case "바닐라라떼":
case "카라멜마끼야또":
price = 3000;
break;
default:
System.out.println("없는 메뉴입니다.");
}
System.out.println("주문하신 "+order+"는 "+price+"원 입니다.");
}
}
사칙연산
package switch_Ex;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class SwitchTest02 {
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int a, b, result;
String op;
System.out.println("2개의 정수형 숫자와 연산자(+,-,*,/)를 입력하여 계산하시오");
System.out.print("a 입력 : ");
a = Integer.parseInt(br.readLine());
System.out.print("b 입력 : ");
b = Integer.parseInt(br.readLine());
System.out.print("연산자(+,-,*,/) 입력 : ");
op = br.readLine();
switch(op) {
case "+" : System.out.println(a+" + "+b+" = "+(a+b));
break;
case "-" : System.out.println(a+" - "+b+" = "+(a-b));
break;
case "*" : System.out.println(a+" * "+b+" = "+(a*b));
break;
case "/" : System.out.println(a+" / "+b+" = "+String.format("%.3f", ((double)a/b)));
break;
default : System.out.println("연산자 error");
}
}
}
a다른방법
소수점 나타내는법 String.format 사용
package switch_Ex;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class SwitchTeat02_1 {
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int a, b;
String op;
System.out.println("2개의 정수형 숫자와 연산자(+,-,*,/)를 입력하여 계산하시오");
System.out.print("a 입력 : ");
a = Integer.parseInt(br.readLine());
System.out.print("b 입력 : ");
b = Integer.parseInt(br.readLine());
System.out.print("연산자(+,-,*,/) 입력 : ");
op = br.readLine();
double result =0;
switch(op) {
case "+" : result = a + b; break;
case "-" : result = a - b; break;
case "*" : result = a * b; break;
case "/" : result = (double)(a / b); break;
default : System.out.println("연산자 error");
System.exit(0);
System.out.println(a+op+b+" = "+String.format("%.3f", result));
}
}
}
소수점을 나타내는 방법 2. Decimalformat사용
package switch_Ex;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.text.DecimalFormat;
public class SwitchTeat02_1 {
public static void main(String[] args) throws IOException{
DecimalFormat df = new DecimalFormat("#.###");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int a, b;
String op;
System.out.println("2개의 정수형 숫자와 연산자(+,-,*,/)를 입력하여 계산하시오");
System.out.print("a 입력 : ");
a = Integer.parseInt(br.readLine());
System.out.print("b 입력 : ");
b = Integer.parseInt(br.readLine());
System.out.print("연산자(+,-,*,/) 입력 : ");
op = br.readLine();
double result =0;
switch(op) {
case "+" : result = a + b; break;
case "-" : result = a - b; break;
case "*" : result = a * b; break;
case "/" : result = (double)a / b; break;
default : System.out.println("연산자 error");
System.exit(0);
}
System.out.println(a+op+b+" = "+df.format(result));
}