Codeup/if ~ else

Codeup - 1231 계산기 1 - java

giggs 2022. 5. 18. 11:45

 

 

 

 

 

 

 


 

 

 

문제풀이

 

  • 띄어쓰기가 없어서 문제가 어려워졌다.

 

 

 

 

처음 생각

 

1. String으로 받아서 charAt() 으로 한 글자씩 읽어내서 기호 뽑아오기

2. 기호 뽑아서 switch - case 문으로 맞는 연산 해주기.

3. 문제 발생 - String으로 받아온 입력 값을 다시 int로 나눠서 [ 앞부분-기호-뒷부분 ] 해주어야 하는데 잘 안됨.

 

 

 

 

 

 

 


 

 

다른 방법 생각

 

 

 

1. 앞부분과 뒷부분도 저장할 필요가 있었다.

2. 교육받을 때 id/pwd 입력받고 기호 / 를 기준으로 나눴던 것 생각

 

 

참고 코드

 

 

 

3. 기호의 index를 알아내고 앞/뒤 부분 저장

4. 기호에 맞는 연산 실행

 

 

 

 

 

 

 


 

 

 

 

 




review

String 클래스의 여러 메서드들을 활용하여 풀긴 풀었다.
음. 기호의 앞/뒤 부분 저장하는 작업에서
뭔가 줄이면 줄일 수 있을 것 같은데 생각을 더 해봐야겠다.

소수점 2자리까지 출력하는 조건에서 몇 번 실패하였다.
int / int 하니까 몫을 구하는 연산자로 되어서
double 타입 변수에 담아주어도 결과는 [ 몫.0 ] 으로 나왔다.
해결) 한쪽을 double형으로 바꿔주었다. ㅎㅎ
2자리까지 출력은 "%.2f"로 해결

다른 사람들은 어떻게 풀었나 찾아보았는데
정말 여러 가지 방법들을... java를 위한 문제는 아니었던 듯하다 ㅎㅎ

그중 마음에 들었던 방법은
특정 기호가 포함되어있는지 확인 하고 .contains()
기호를 기준으로 앞 뒤 배열로 저장해주기 .split("\\+);
이 방법으로도 나중에 한 번 더 풀어보기!
내 코드도 줄여보기!
:D