import java.io.*;
public class Test10 {
public static void main(String[] args) throws IOException {
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
String str;
System.out.print("수식 [10+5] ? ");
str=br.readLine();
// 입력 받은 문자열의 공벡 제거
str = str.replaceAll("\\s", ""); // str = str.replaceAll(" ", ""); // 와 동일
for(String op : new String[] {"+", "-", "*", "/"}) {
int pos = str.indexOf(op); //입력받은 str문자열에서 +-*/중 하나를 찾아 그인텍스값을 저장
if(pos > -1) { //인덱스 최초의 값은 0부터 시작하므로 -1보다 커야함.
int num1 = Integer.parseInt(str.substring(0,pos)); //0부터 pos까지를 숫자로(pos는 연사자 인덱스값)
int num2 = Integer.parseInt(str.substring(pos+1)); //pos다음을 숫자로
char operator=str.charAt(pos); //(연산자) 지정된 인덱스 위치에 있는 char 치를 돌려줍니다
int result=0; //연산결과 저장
// operator가 String 이면
// if(op.equals("+")) "if를 이용할때"
// :
switch(operator) {
case '+':result=num1+num2;break;
case '-':result=num1-num2;break;
case '*':result=num1*num2;break;
case '/':result=num1/num2;break;
}
System.out.printf("%s=%d\n", str, result);
break;
} // if(pos.._end
} // for(String op .. _ end
}
}
반응형
'JAVA' 카테고리의 다른 글
[JAVA] Object 클래스 주요 메서드 (0) | 2021.12.18 |
---|---|
[JAVA] Object 클래스 주요 메서드 (0) | 2021.12.18 |
[JAVA] String 관련 메서드 (0) | 2021.12.17 |
[JAVA] String 과 StringBuffer (0) | 2021.12.17 |
[JAVA] String 클래스 + 해쉬코드 (0) | 2021.12.17 |
최근댓글