1cfd3bbb56
Topic_CSS/Topic_HTML/Topic_JavaScript/Topic_Prompt/Topic_Comfyui 등 기존 카테고리 폴더를 정리하고, Topic_Graphic/Dev 등 신규 산출물과 Topics 내부 세션/메모리 기록을 동기화.
73 lines
3.7 KiB
Markdown
73 lines
3.7 KiB
Markdown
---
|
|
id: java-projects
|
|
title: "Java Projects"
|
|
category: "Programming_Language"
|
|
status: "draft"
|
|
verification_status: "conceptual"
|
|
canonical_id: ""
|
|
aliases: ["자바 실습 프로젝트"]
|
|
duplicate_of: ""
|
|
source_trust_level: "B"
|
|
confidence_score: 0.87
|
|
created_at: 2026-07-04
|
|
updated_at: 2026-07-04
|
|
review_reason: ""
|
|
merge_history: []
|
|
tags: ["java", "programming", "w3schools", "projects"]
|
|
raw_sources: ["https://www.w3schools.com/java/java_projects.asp"]
|
|
applied_in: []
|
|
github_commit: ""
|
|
---
|
|
|
|
# [[Java Projects]]
|
|
|
|
## 🎯 한 줄 통찰 (One-line insight)
|
|
The student-average project deliberately validates input BEFORE processing (`if (count < 1 || count > 5) { ...; return; }`), demonstrating that a real small project isn't just "loop + math" — it's the combination of Scanner input, validation/early-return, a loop-based accumulator, and a helper method (`gradeFunction`) that turns tutorial-sized concepts into a working mini-application. [S1]
|
|
|
|
## 🧠 핵심 개념 (Core concepts)
|
|
- **Why build projects** — understand real program structure, practice combining concepts, improve debugging skills, prepare for interviews. [S1]
|
|
- **Progression** — start with simple I/O (name/age greeting), then loop+condition+array projects (shopping list, guessing game, student average), then class/file-based projects (calculator, address book, to-do list, quiz game). [S1]
|
|
- **Featured project: Student Average** — combines Scanner input, input validation with early return, an accumulator loop, and a helper method mapping a numeric average to a letter grade. [S1]
|
|
|
|
## 📖 세부 내용 (Details)
|
|
- Input validation with early return: `if (count < 1 || count > 5) { System.out.println("Invalid number. You must enter between 1 and 5 grades."); scanner.close(); return; }`. [S1]
|
|
- Accumulator loop: `double sum = 0.0; for (int i = 1; i <= count; i++) { double grade = scanner.nextDouble(); sum += grade; } double avg = sum / count;`. [S1]
|
|
- Helper method mapping average to letter grade: `static char gradeFunction(double avg) { if (avg >= 90) return 'A'; else if (avg >= 80) return 'B'; else if (avg >= 70) return 'C'; else if (avg >= 60) return 'D'; else return 'F'; }`. [S1]
|
|
- Practice challenge: shopping list using an array, with an extra challenge to add item search. [S1]
|
|
|
|
## ⚖️ 모순 및 업데이트 (Contradictions & updates)
|
|
소스에서 모순되는 정보는 발견되지 않음.
|
|
|
|
## 🛠️ 적용 사례 (Applied in summary)
|
|
학생 평균 성적 계산 프로그램이 Scanner 입력, 유효성 검증, 누적 반복, 헬퍼 메서드를 결합한 실전 미니 애플리케이션의 대표 사례다. [S1]
|
|
|
|
## 💻 코드 패턴 (Code patterns)
|
|
Average-to-letter-grade helper method (Java):
|
|
```java
|
|
static char gradeFunction(double avg) {
|
|
if (avg >= 90) return 'A';
|
|
else if (avg >= 80) return 'B';
|
|
else if (avg >= 70) return 'C';
|
|
else if (avg >= 60) return 'D';
|
|
else return 'F';
|
|
}
|
|
```
|
|
|
|
## ✅ 검증 상태 및 신뢰도
|
|
- **상태:** draft
|
|
- **검증 단계:** conceptual
|
|
- **출처 신뢰도:** B (W3Schools — widely used educational reference, not a primary standards body)
|
|
- **신뢰 점수:** 0.87
|
|
- **중복 검사 결과:** 신규 생성 (New discovery)
|
|
|
|
## 🔗 지식 그래프 (Knowledge Graph)
|
|
- **상위/루트:** [[Java Tutorial]]
|
|
- **관련 개념:** [[Java User Input]], [[Java Methods Return]], [[Java Arrays]], [[Java Advanced Sorting]]
|
|
- **참조 맥락:** Java 튜토리얼 전체의 최종 종합 실습 챕터 — Scanner/메서드/배열/조건문 등 전 과정을 통합.
|
|
|
|
## 📚 출처 (Sources)
|
|
- [S1] W3Schools — Java Projects — https://www.w3schools.com/java/java_projects.asp
|
|
|
|
## 📝 변경 이력 (Change history)
|
|
- 2026-07-04: Initial draft synthesized from the W3Schools "Java Projects" page (Astra wiki-curation, P-Reinforce v3.1 format).
|