import java.util.*;
public class Calculator {
public static void main(String[] args) {
Scanner scn = new Scanner(System.in);
String str1, str2; // 문자열 첫번째 수, 두번째 수
int num1, num2; // 정수형 첫번째 수, 두번째 수
String oper; // 연산자
// 첫번째수
while(true) {
System.out.print("첫번째 수 > ");
str1 = scn.nextLine();
// 공백확인
if(str1.equals("")== true) {
System.out.println("숫자만 입력가능(공백x)");
continue;
}
boolean flag = true;
for (int i = 0; i < str1.length(); i++) {
char c = str1.charAt(i);
if(c < '0' || c > '9') { // 문자열 확인
flag = false;
break;
}
}
if(flag == true) {
break;
}
System.out.println("숫자만 입력가능(문자x)");
}
// 연산자
while(true) {
System.out.print("연산기호 입력 (+, -, *, /) >>");
oper = scn.nextLine();
if(oper.equals("+") || oper.equals("-") || oper.equals("*") || oper.equals("/")) {
break;
} else { // 연산기호가 다른문자가 입력이 되었는지? -> 다시 입력
continue;
}
}
// 두번째 수
while(true) {
System.out.print("두번째 수 > ");
str2 = scn.nextLine();
// 공백확인
if(str2.equals("") == true) {
System.out.println("숫자만 입력가능(공백x)");
continue;
}
if(oper.equals("/")) {
if(str2.equals("0")) { // 연산자 '/' -> 0 다시입력
System.out.println("0으로는 연산불가!");
continue;
}
}
boolean flag = true;
for (int i = 0; i < str2.length(); i++) {
char c = str2.charAt(i);
if(c < '0' || c > '9') { // 문자열 확인
flag = false;
break;
}
}
if(flag == true) {
break;
}
System.out.println("숫자만 입력가능(문자x)");
}
num1 = Integer.parseInt(str1);
num2 = Integer.parseInt(str2);
// 결과출력
switch(oper) {
case "+" :
System.out.println(num1+oper+num2+"="+(num1+num2));
break;
case "-" :
System.out.println(num1+oper+num2+"="+(num1-num2));
break;
case "*" :
System.out.println(num1+oper+num2+"="+(num1*num2));
break;
case "/" :
System.out.println(num1+oper+num2+"="+(num1/num2));
break;
}
}
}
'문제풀이 > Java' 카테고리의 다른 글
[자바] 남은 동전 구하기 (0) | 2021.05.12 |
---|---|
[자바] (업그레이드) 계산기 (0) | 2021.05.12 |
[자바] 가위바위보 게임 (0) | 2021.05.11 |
[자바] 배열 순차 정렬 (0) | 2021.05.11 |
[자바] 로또 번호 생성 (0) | 2021.05.10 |