Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions .idea/gradle.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 5 additions & 0 deletions .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/vcs.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions src/main/java/calculator/Application.java
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,6 @@ public static void main(String[] args) {
// 예시 코드
Calculator calculator = new Calculator();
calculator.calculate("");

}
}
37 changes: 31 additions & 6 deletions src/main/java/calculator/Calculator.java
Original file line number Diff line number Diff line change
@@ -1,13 +1,38 @@
package calculator;

/*
1주차에만 제공되는 예시 코드입니다.
코드는 그대로 사용해도 되고 수정해도 됩니다.
*/
import java.util.Objects;

public class Calculator {
public int calculate(String input) {
// TODO: 코드 구현
throw new IllegalArgumentException("아직 구현되지 않았습니다.");
if(input.isEmpty()){
return 0;
}
int result=0;
int num=0;
char b='+';
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

b하는 변수가 무슨 역할을 하는지 이름을 자세하게 지어주시면 좋을 것 같아요!

for(int i=0;i<input.length();i++){
char a=input.charAt(i);
boolean isNum = Character.isDigit(a);

if(isNum){
num=a-'0';
switch(b){
case '+': result+=num; break;
case '-': result-=num; break;
case '*': result*=num; break;
case '/':
if(num==0){
throw new IllegalArgumentException("0 입력 불가능");
}
result/=num; break;
}
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

스위치를 활용해 깔끔하게 처리한 부분과 0으로 나눌 때 에러 처리한 부분이 좋네요.
자바 코딩 컨벤션이라고 구글에 검색해보시고, 컨벤션을 지켜 작성하신다면 더 보기 좋은 코드가 될 것 같아요

}
else if(a=='+' || a=='-' || a=='*' || a=='/'){
b=a;
}
throw new IllegalArgumentException("잘못된 수식 입력");
}

return result;
}
}