일단 난 이번주에 변수가 뭔지부터 배운 완벽한 초보자이기 때문에..!
배운 범위내에서..! 작성하기로 결정
그래도 일단 git 사용법을 배웠으니 참고해서 github에 연동을 먼저 한다
(기억이 안나서 참고한 블로그는 나의 블로그,, 나의 언어로 쓰여있어 알아보기 쉽다! 이것이 til의 순기능)
// 1. 첫번째 숫자 입력
System.out.println("숫자를 입력하세요.");
int currentNum = scanner.nextInt();
scanner.nextLine();
// 2. 연산기호 입력
String operator; // 연산기호는 1번째 while, 2번째 while 전부 사용함
while (true) {
System.out.println("연산기호를 입력하세요 ( + , - , x , / )");
operator = scanner.nextLine();
// 연산자를 잘못 입력했을 때 처음으로 이동 / + 곱셈을 대문자로 입력하면?
if (!operator.equals("+") && !operator.equals("-") && !operator.equals("x") && !operator.equals("/")) {
System.out.println("== 연산기호를 다시 입력하세요 ==");
continue;
} break;
}
// 3. 두번째 숫자 받고 연산시작
while (true) {
System.out.println("다음 숫자를 입력하세요.");
int calNum = scanner.nextInt();
scanner.nextLine();
//계산하기
switch (operator) {
case "+":
currentNum = currentNum + calNum;
break;
case "-":
currentNum = currentNum - calNum;
break;
case "x":
currentNum = currentNum * calNum;
break;
case "/":
if (calNum == 0) {
System.out.println("==0으로 나누기는 할 수 없습니다==");
continue;
} else {
currentNum = currentNum / calNum;
}
break;
}
// 4. 종료 or 계속 연산할지 입력
System.out.println("현재값 = " + currentNum);
while (true) {
System.out.println("== 종료하려면 exit , 계속 계산하려면 연산기호를 누르세요 ==");
String answer = scanner.nextLine();
if (answer.equals("exit")) {
return;
} else if (answer.equals("+") || answer.equals("-") || answer.equals("x") || answer.equals("/")) {
operator = answer;
break;
} else {
System.out.println("==잘못된 연산기호입니다. 다시 입력하세요.==");
}
}
}
}
}
firstNum, secondNum 대신 직관적인 이름을 사용하면 좋겠다! (누적 연산이라 n회차 연산에도 계속 이 값을 사용하기 때문)
=> currentNum, calNum으로 변경
잘못된 연산기호를 거르는 if문이 좀 더 간결한게 예쁠것 같다!
=> if else로 엄청 길었는데, continue를 쓰고 예외값을 먼저 걸렀다
사실 벨로그 서버가 터져서.. 내가 임시저장해둔 글이 싸그리 날아갔다! 진심 이러지마
세상에,, 암튼간에 나의 소감을 또또또 적자면..!
어쨌거나 나에겐 처음이라 어려웠지만 나중에 내가 생각한대로 구현되는게 신기했다..!
비록 콘솔에서 작동하는 것이고 다른 분들은 사칙연산 외 기능들도 구현한 분들이 많지만
그래도 뿌듯했음..! 항상 아이디어가 많았는데, 그것을 구현할 기술이 나에겐 없었당
더 열심히 배워서 아이디어를 실현시켜줄 실력을 길러야겠다고 생각했다 !
화텡~~