Skip to content

Repository files navigation

# Copilot Instructions (Java Swing Calculator)

## Project Context
- Type: Desktop GUI with Java Swing
- Goal: A minimal four-operator calculator with clear, backspace, decimal point, and equals.
- Tech: Pure JDK (no Maven/Gradle). Compile with VS Code tasks (javac). Run with launch config (java).

## Coding Rules
- Use package `app`.
- Single main class: `Calculator`.
- UI: JFrame + JTextField (non-editable) + JButtons in GridLayout.
- Logic: Use `BigDecimal` for operations and avoid floating-point rounding errors.
- Operators: `+`, `-`, `×`, `÷`, `=`.
- Special keys: `C` (clear all), `` (backspace), `.` (decimal).
- Behavior:
   - Append digits/decimal to current input.
   - On operator press: if there is a pending operator, resolve first; then set new operator.
   - Handle divide-by-zero gracefully by showing "Error" and requiring clear.
   - Trim trailing zeros for display where appropriate.
- Keyboard shortcuts (optional): digits, `+ - * /`, `Enter`(=), `Backspace`, `Escape`(clear).
- UI/UX:
   - Display field aligned to the right.
   - Disable multiple decimals in one number.
   - Ensure buttons are focusable as needed for keyboard input.

## File Layout
- `src/app/Calculator.java` — main entry & entire app.

## Build & Run (VS Code)
- Build: Terminal → Run Task → `Build (javac)`
- Run: `F5` or Run → Start Debugging (launch config "Run Calculator")

## Testing Notes
- Try sequences like:
   - `12 + 7 =``19`
   - `5 ÷ 0 =``Error` then `C` to reset
   - `3 . 1 4 + 2 =``5.14` (no double decimals)
   - `9 × 9 =``81`, then `× 2 =``162`

## Non-Goals
- No scientific functions, no external libs, no persistence.

## Style
- Clear, readable, small methods.
- Comments where logic is not obvious.

영화앨범 예시4

Java Swing Calculator & Movie Album

실행 예시 (스크린샷)

계산기 예시2

계산기 예시3

계산기 예시4

영화앨범 예시1

영화앨범 예시2

영화앨범 예시3

[1] 계산기(Calculator) 빌드/실행

  1. 터미널에서 컴파일:
    javac -d out src/app/Calculator.java
  2. 실행:
    java -cp out app.Calculator

VS Code에서 빌드/실행

  • 빌드: 터미널 → Run Task → Build (javac)
  • 실행: F5 또는 Run → Start Debugging (launch config "Run Calculator")

주요 기능

  • +, -, ×, ÷, = 연산
  • C(전체 초기화), ←(백스페이스), .(소수점)
  • 0으로 나누기 시 "Error" 표시, C로만 해제
  • 소수점 중복 입력 방지, 우측 정렬 표시
  • 키보드 단축키 지원(숫자, 연산자, Enter, Backspace, Escape)

예시 시나리오

  • 12 + 7 =19
  • 5 ÷ 0 =ErrorC로 초기화
  • 3 . 1 4 + 2 =5.14
  • 9 × 9 =81, 이어서 × 2 =162

[2] 영화앨범(MovieAlbum) 빌드/실행

준비

  • lib/json-20250517.jar(org.json) 파일이 lib 폴더에 있어야 합니다.

컴파일

javac -cp lib/json-20250517.jar -d out src/app/MovieAlbum.java

실행

java -cp lib/json-20250517.jar:out app.MovieAlbum

주요 기능

  • 영화 제목 입력 후 검색 시 OMDb API에서 포스터 이미지를 최대 5장까지 앨범처럼 표시
  • 이미지는 인터넷에서 실시간 다운로드
  • 검색 결과 없으면 안내 메시지 표시

참고

  • OMDb 무료 API 키(thewdb) 사용 (상업적 용도 불가)
  • macOS에서 한글 입력 시 경고 메시지가 뜰 수 있으나, 기능에는 영향 없음

빌드 방법

  1. 터미널에서 다음 명령어로 컴파일:

    javac -d out src/app/Calculator.java
  2. 실행:

    java -cp out app.Calculator

VS Code에서 빌드/실행

  • 빌드: 터미널 → Run Task → Build (javac)
  • 실행: F5 또는 Run → Start Debugging (launch config "Run Calculator")

주요 기능

  • +, -, ×, ÷, = 연산
  • C(전체 초기화), ←(백스페이스), .(소수점)
  • 0으로 나누기 시 "Error" 표시, C로만 해제
  • 소수점 중복 입력 방지, 우측 정렬 표시
  • 키보드 단축키 지원(숫자, 연산자, Enter, Backspace, Escape)

예시 시나리오

  • 12 + 7 =19
  • 5 ÷ 0 =ErrorC로 초기화
  • 3 . 1 4 + 2 =5.14
  • 9 × 9 =81, 이어서 × 2 =162

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages