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
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기