클래스를 이용하지 않는 계산기
기본적인 틀을 작성하고 실행을 했더니 오류..
작성한 폴더를 확인해 보니 새로운 폴더가 생겨서 클래스 없는 계산기 작성한 내용이 이쪽으로 이중 저장 되었다
그리고 작성한 코드도
반복문을 제대로 사용하지 않고 break;만 냅다 썼어서
while문을 제대로 넣어서 다시 작성했다
package nonclasscalculator;
import java.util.Scanner;
public class Calculator {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while(true) {
System.out.println("첫 번때 숫자를 입력하세요 = ");
int a = scanner.nextInt();
System.out.println("사칙연산 기호를 입력하세요 = ");
String operator = scanner.next();
System.out.println("두 번째 숫자를 입력하세요 = ");
int b = scanner.nextInt();
int result = 0;
if (operator.equals("+")) {
result = a + b;
} else if (operator.equals("-")) {
result = a - b;
} else if (operator.equals("*")) {
result = a * b;
} else if (operator.equals("/")) {
if (b != 0) {
result = a / b;
} else {
System.out.println("나눗셈 연산에서 분모(두번쨰정수)에 0이 입력될 수 없습니다.");
continue;
}
} else {
System.out.println("잘못된 연산자를 입력했습니다.");
continue;
}
System.out.println("결과 = " + result);
System.out.println("더 계산하시겠습니까?(exit 입력시 종료)");
String s = scanner.next();
if (s.equals("exit")) {
System.out.println("계산기를 종료합니다.");
break;
}
}
scanner.close();
}
}
코드를 다 수정하고서 실행해 보니
계산기로서의 역활과 exit 입력시 종료도 잘 되었다
클래스를 이용한 계산기
여기서 값을 제거하는것을 추가 했지만 그 내용이 안 떠서
코드 자체를 아래와 같이 수정했다
System.out.println("더 계산하시겠습니까? (exit 입력 시 종료)");
System.out.println("가장 먼저 저장된 데이터를 삭제하시겠습니까? (remove 입력 시 삭제)");
scanner.nextLine();
String e = scanner.next();
if (e.equals("exit")) {
System.out.println("계산기를 종료합니다.");
break;
} else if (e.equals("remove")) {
calculator.removeFirstResult();
}
그래도 데이터 삭제 부분이 나오지 않아서 보니까
저장된 값 자체를 아직 구현 못해서 였다
Calculation에 아래의 코드를 넣으니까 remove도 뜨는데, exit와 remove를 적는 곳이 사라졌다
public void removeFirstResult() {
if (!results.isEmpty()) {
results.remove(0); // 리스트의 첫 번째 요소 삭제
System.out.println("가장 먼저 저장된 결과가 삭제되었습니다.");
} else {
System.out.println("삭제할 결과가 없습니다.");
}
}
String e = scanner.nextLine();
은 제대로 들어간것같은데
System.out.println("더 계산하시겠습니까? (exit 입력 시 종료)");
System.out.println("가장 먼저 저장된 데이터를 삭제하시겠습니까? (remove 입력 시 삭제)");
String e = scanner.nextLine();
if (e.equals("exit")) {
System.out.println("계산기를 종료합니다.");
break;
} else if (e.equals("remove")) {
calculator.removeFirstResult();
}
클래스를 넣어서 만든게 처음이다 보니 이것저것 다 넣을 수 있는걸 넣었는데
아직 다 확립 되지 않아서 중간중간 비는 부분이 있는것같다
해설 보면서 다시 한번 복습해봐야겠다
'내일배움캠프 7기' 카테고리의 다른 글
자바(객체지향) (2) | 2024.10.18 |
---|---|
자바(클래스, 객체, 상속) & Git (4) | 2024.10.17 |
Spring 7기 11일차(웹) (0) | 2024.10.15 |
Spring 7기 10일(자바, 알고리즘) (0) | 2024.10.14 |
Spring 7기 9일(자바 클래스,메서드) (1) | 2024.10.11 |