728x90
사칙연산을 하는 계산기를 만들어보자.
package day07;
import java.util.Scanner;
public class Calc {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int num1 =0, num2 =0;
int choice = 0;
String menuMsg = "1.계산하기\n2.나가기";
String oper="";
String result = "";
while(true) {
System.out.println(menuMsg);
choice = sc.nextInt();
if(choice == 2)break;
if(choice != 1)continue;
num1 = Integer.parseInt(sc.next());
oper = sc.next();
num2 = Integer.parseInt(sc.next());
switch(oper) {
case "+":
result = ""+(num1+num2);
break;
case "-":
result = ""+(num1-num2);
break;
case "*":
result = ""+(num1*num2);
break;
case "/":
if(num2 !=0 ) {
result = ""+(num1/num2);
}else {
result = "0으로 나눌 수 없습니다.";
}
break;
default:
result="사칙연산 외의 연산자를 사용할 수 없습니다.";
}
System.out.println(result);
}
}
}
num1 = Integer.parseInt(sc.next());
oper = sc.next();
num2 = Integer.parseInt(sc.next());
여기서 next()를 사용한 이유는 next()는 공백을 구분점으로 받기 때문이다.
한줄에 1 + 1 를 입력하기 위해서 next()를 사용했다.
switch문안에 result = ""+(num1+num2);는 result는 String타입으로 선언했기 때문에
""+(~) 같은 모양을 통해 (num1+ num2) int형을 문자열로 형변환을 한 것이다.
그래서 문자형인 result로 문제없이 나올 수 있다.
728x90
'JAVA' 카테고리의 다른 글
배열 연습문제03 (0) | 2020.08.12 |
---|---|
계산기 만들기02 (클래스, Scanner, 생성자) (0) | 2020.08.03 |
import , 다른 패키지의 클래스를 불러오는방법 (0) | 2020.08.03 |
2차원배열 (0) | 2020.08.02 |
switch 연습01 (0) | 2020.07.31 |