Troubleshooting: 무엇이 문제였는가?/본캠프 2주 차: 계산기 만들기 5

2단계: "반복문 안에서 인스턴스화를 했다고요? 갑부시군요!"

[문제]분명 가장 먼저 저장된 결괏값을 삭제하지 않았으니 나누기 연산을 했을 때 [55, 3]이 출력되어야 하는데 [3]이 출력되었다. 처음에는 클래스를 작성할 때 for문 같은 반복문을 쓰지 않아서 발생한 문제인 줄 알았다.  [원인 추측]package com.project.personal.calculator2;import java.util.*;public class CalcLvTwo { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while (true) { System.out.print("0 이상인 첫 번째 정수를 입력해 주세요: "); ..

2단계: 절차 지향 add() vs 객체 지향 add()

[문제]package com.project.personal.calculator2;import java.util.*;// [참고] 패키지 전체를 불러오고 싶을 때 사용public class Calculator { ArrayList results = new ArrayList(); public Calculator() { } public int calculate(int numOne, String operator, int numTwo) { if (operator.equals("+")) { return numOne + numTwo; } else if (operator.equals("-")) { return numOne - numT..

2단계: 반환타입이 int라서 return "문자열"이 불가능할 때

[문제]package com.project.personal.calculator;public class Calculator { public Calculator() { } public int calculate(int numOne, String operator, int numTwo) { if (operator.equals("+")) { return numOne + numTwo; } else if (operator.equals("-")) { return numOne - numTwo; } else if (operator.equals("*")) { return numOne * numTwo; ..

2단계: sc.nextLine(); vs sc.next();

[문제]package com.project.personal.calculator;import java.util.*;public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.print("첫 번째 숫자를 입력해 주세요: "); int numFirst = sc.nextInt(); System.out.print("사칙연산 기호(+, -, *, /) 중 하나를 입력해 주세요: "); String operator = sc.nextLine(); // [원인 추측] print 대신 println이라고 해야..