게시글 삭제
정말 삭제하시겠습니까?
자바 배열로 관리프로그램 만들기 (등록/검색/목록) | 주먹구구 코딩 #1
[주요 목차]
자바 배열의 기초
관리 프로그램의 구조
실전 코딩: 등록, 검색, 목록 출력
안녕하세요! 오늘은 자바 배열을 사용해서 간단한 관리 프로그램을 만드는 방법에 대해 알아볼 거예요. 이 글을 통해서 자바에서 배열을 어떻게 활용하는지, 그리고 기본적인 등록, 검색, 목록 출력 기능을 어떻게 구현하는지 배워볼 수 있을 거예요. 코딩을 처음 시작하시는 분들에게는 조금 어려울 수 있지만, 차근차근 따라오시면 충분히 이해할 수 있을 거예요. 이 글을 끝까지 읽으시면 자바 배열을 이용한 간단한 관리 프로그램을 만들 수 있게 될 거예요.
자바 배열의 기초
자바에서 배열은 같은 타입의 데이터를 여러 개 저장할 수 있는 데이터 구조예요. 쉽게 말하면, 여러 개의 변수를 한 번에 관리할 수 있는 상자라고 생각하면 돼요. 예를 들어, 학생의 이름과 나이를 저장하고 싶다면, 각각의 이름과 나이를 저장할 배열을 만들 수 있죠. 배열은 인덱스를 사용해서 요소에 접근할 수 있어요. 인덱스는 0부터 시작해요.
배열을 사용할 때는 먼저 배열을 선언하고 초기화해야 해요. 예를 들어, String[] names = new String[5];라고 하면, 이름을 저장할 수 있는 배열을 선언한 거예요. 여기서 5는 배열의 크기를 나타내고, 5개의 이름을 저장할 수 있어요. 배열을 사용하면 여러 개의 데이터를 효율적으로 관리할 수 있기 때문에, 관리 프로그램을 만들 때 유용해요.
관리 프로그램의 구조
이제 본격적으로 관리 프로그램을 만들어볼 거예요. 관리 프로그램은 주로 데이터의 등록, 검색, 목록 출력 기능을 포함해요. 예를 들어, 학생의 이름과 나이를 등록하고, 등록된 정보를 검색하거나 전체 목록을 출력하는 기능이 필요해요.
프로그램의 기본 구조는 다음과 같아요: 1. 등록 기능: 사용자에게 이름과 나이를 입력받아 배열에 저장하는 기능이에요. 2. 목록 출력 기능: 저장된 정보를 배열에서 꺼내서 출력하는 기능이에요. 3. 검색 기능: 특정 이름이나 나이를 가진 정보를 찾아서 출력하는 기능이에요.
이 기능들을 구현하기 위해서는 먼저 사용자에게 입력을 받아야 해요. 이를 위해 Scanner 클래스를 사용할 수 있어요. Scanner는 사용자로부터 입력을 받을 수 있게 해주는 도구예요.
실전 코딩: 등록, 검색, 목록 출력
이제 실제로 코딩을 해볼게요! 아래는 자바로 간단한 관리 프로그램을 구현하는 예시 코드예요.
```java import java.util.Scanner;
public class ManagementProgram { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); Person[] persons = new Person[5]; // 최대 5명의 정보를 저장할 배열 int index = 0; // 현재 저장된 인덱스
while (true) {
System.out.println("1. 등록 2. 목록 출력 3. 검색 0. 종료");
int choice = scanner.nextInt();
scanner.nextLine(); // 개행 문자 제거
switch (choice) {
case 1: // 등록
if (index < 5) {
System.out.print("이름: ");
String name = scanner.nextLine();
System.out.print("나이: ");
int age = scanner.nextInt();
persons[index++] = new Person(name, age);
System.out.println("등록 완료!");
} else {
System.out.println("더 이상 등록할 수 없습니다.");
}
break;
case 2: // 목록 출력
for (int i = 0; i < index; i++) {
System.out.println(persons[i]);
}
break;
case 3: // 검색
System.out.print("검색할 이름: ");
String searchName = scanner.nextLine();
boolean found = false;
for (int i = 0; i < index; i++) {
if (persons[i].getName().equals(searchName)) {
System.out.println(persons[i]);
found = true;
}
}
if (!found) {
System.out.println("검색 결과가 없습니다.");
}
break;
case 0: // 종료
System.out.println("프로그램을 종료합니다.");
scanner.close();
return;
default:
System.out.println("잘못된 입력입니다.");
}
}
}
}
class Person { private String name; private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public String toString() {
return "이름: " + name + ", 나이: " + age;
}
} ```
이 코드는 기본적인 관리 프로그램의 구조를 보여줘요. 사용자가 1번을 선택하면 이름과 나이를 입력받아 배열에 저장하고, 2번을 선택하면 등록된 정보를 출력해요. 3번을 선택하면 이름으로 검색해서 해당 정보를 출력해요. 0번을 선택하면 프로그램이 종료돼요.
이 프로그램을 통해서 자바 배열을 활용한 기본적인 데이터 관리를 경험할 수 있을 거예요. 처음에는 코드가 복잡하게 느껴질 수 있지만, 실행해보면서 이해를 깊이 할 수 있을 거예요. 코딩 연습을 많이 해보시길 추천해요!
[자주 묻는 질문]
자바 배열의 최대 크기는 어떻게 정하나요?
배열의 크기는 코드 작성 시 정해줘야 해요. 예를 들어, `new Person[5]`라고 하면 최대 5개의 데이터를 저장할 수 있어요. 크기를 정할 때는 사용자의 요구에 맞춰 적절하게 설정해야 해요.
배열에 저장된 데이터를 어떻게 검색하나요?
배열을 순회하면서 조건에 맞는 데이터를 찾으면 돼요. 예를 들어, 이름으로 검색하는 경우, 배열의 각 요소에 대해 `if` 문을 사용해서 입력받은 이름과 비교하면 됩니다.
배열의 크기를 동적으로 변경할 수 있나요?
자바에서 배열의 크기는 고정돼 있기 때문에 직접적으로 변경할 수는 없어요. 대신, 크기가 가변적인 `ArrayList`를 사용할 수 있어요. `ArrayList`는 필요한 만큼 요소를 추가하거나 삭제할 수 있는 유연한 자료 구조입니다.