public class App {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("첫 번째 숫자를 입력하세요: ");
// Scanner를 사용하여 양의 정수를 입력받고 적합한 타입의 변수에 저장합니다.
System.out.print("두 번째 숫자를 입력하세요: ");
// Scanner를 사용하여 양의 정수를 입력받고 적합한 타입의 변수에 저장합니다.
}
}charAt(0))public class App {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
...
System.out.print("사칙연산 기호를 입력하세요: ");
// 사칙연산 기호를 적합한 타입으로 선언한 변수에 저장합니다.
}
}if switchpublic class App {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
...
int result = 0;
/* 제어문을 활용하여 위 요구사항을 만족할 수 있게 구현합니다.*/
System.out.println("결과: " + result);
}
}public class App {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
/* 반복문 사용 해서 연산을 반복 */
...
System.out.println("결과: " + result);
System.out.println("더 계산하시겠습니까? (exit 입력 시 종료)");
/* exit을 입력 받으면 반복 종료 */
}
}
Scanner scanner = new Scanner(System.in);
int result = 0;
사용자 입력을 받아줄 scanner와 계산의 결과값을 담아줄 변수 result 생성
while(true){
}
사용자가 exit를 입력할때까지 반복해서 계산할거기때문에 while(true) 사용
System.out.print("첫 번째 숫자를 입력하세요: ");
int num1 = scanner.nextInt();
if (num1 < 0) {
System.out.println("잘못된 숫자입니다.");
continue;
}
첫 번째 숫자를 입력받을 로직 생성
양의 정수만 받을거기 때문에 숫자가 0보다 작을때 잘못된 숫자임을 알려주고 다시 입력받을 로직 생성
System.out.print("두 번째 숫자를 입력하세요: ");
int num2 = scanner.nextInt();
if (num2 < 0) {
System.out.println("잘못된 숫자입니다.");
continue;
}
이후 두 번째 숫자를 입력받을 로직도 생성
scanner.nextLine();
이후 사용자가 입력값을 입력할 때 enter가 입력되는걸 방지하기 위해 scanner.nextLine(); 추가
System.out.print("사칙 연산 기호를 입력하세요(+, -, *, /) : ");
char operator = scanner.next().charAt(0);
연산을 위한 기호를 입력받은 후 operator에 담아줌
if (operator == '+') {
result = num1 + num2;
} else if (operator == '-') {
result = num1 - num2;
} else if (operator == '*') {
result = num1 * num2;
} else if (operator == '/' && num2 != 0) {
result = num1 / num2;
} else {
System.out.println("잘못된 계산입니다");
continue;
}
}
입력받은 기호에 따라 연산진행
나눗셈의 경우 0으로 나누는건 불가능하기 때문에 검증로직 추가
만약 입력이 정확하게 되지 않은 경우 다시 입력받기
System.out.println("계산 결과: " + result);
연산 결과 반환
System.out.print("더 계산하시겠습니까? (exit 입력 시 종료): ");
String choice = scanner.nextLine();
if (choice.toLowerCase().equals("exit")) {
System.out.println("계산기를 종료합니다.");
return;
}
사용자에게 계산을 그만할지 물어보는 로직
대소문자 구분없이 동작하기 위해 toLowerCase 넣어줌
완성본
https://github.com/chaewon9999/Calculator/tree/master/src/level1
코드를 만드는거 자체는 어려움이 없었는데 내 맘대로 코드 짰다가 나중에 예시코드가 있다는걸 알고 수정하는게 가장 힘들었다 ,, 이래서 문제를 잘 읽어야하나부다