
뭐든지 큰 틀을 잡고 그 안의 세부적인 내용들을 정리하는 편이다.
전화번호부의 기능은 무엇이 있어야 할까?
이 기능들만 있으면 최소한 전화번호부로써 기능은 할 수 있다.
! 본 프로젝트는 자바 복습을 위한 것으로 전화번호 검색기능 등은 구현하지 않았다. !
IntelliJ로 새로운 Java 프로젝트를 열어준다.
기본 세팅을 해주고 아래의 코드를 입력했다.
package com.ll;
import java.util.Scanner;
public class Main {
public static void main (String[] args){
App app = new App();
app.run();
}
}
class App {
public void run(){
System.out.println(" ================");
System.out.println(" == 전화번호부 ==");
System.out.println(" ================");
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.print("입력 : ");
String cmd = scanner.nextLine();
if (cmd.equals("종료")) break;
}
scanner.close();
}
}
기본적인 코드를 짜봤다.
App이라는 Class를 만들었다.
이 코드를 실행하면 전화번호부라는 내용이 표기되고,
scanner를 통해 사용자로부터 입력을 받을 수 있다.
종료를 입력하면 프로그램이 종료된다.
프로그램 실행 > 사용자 입력을 받음 > "종료" 입력시 종료.
실행하면 전화번호부라는 (텍스트)를 표기해줘.
그리고(While) 사용자한테 입력을 받아.
만약에(If) 사용자가 종료를 입력하면 종료해.
else if (a.equals("등록")){
System.out.print("이름 :");
String content = scanner.nextLine();
System.out.print("번호 :");
String author = scanner.nextLine();
System.out.println("번호가 등록되었습니다.");
if문에 else if를 추가해서 사용자가 등록을 입력하면
이름과 번호를 각각 입력받게한다.
//(생략...)
Scanner scanner = new Scanner(System.in);
int lastId = 0; //추가
//(생략...)
if (a.equals("종료")) {
break;
} else if (a.equals("등록")){
System.out.print("이름 :");
String content = scanner.nextLine();
System.out.print("번호 :");
String author = scanner.nextLine();
int id = ++lastId;
System.out.println("%d번 번호가 등록되었습니다.".formatted(id));
id++;
int lastId = 0에서 시작해서 전화번호를 등록하면 lastId에서 +1이되어 1번에 등록이된다.
%d번에 번호가 등록됬다는 알림으로 몇번에 저장되었는지 사용자에게 알린다.
//(생략...)
int lastId = 0;
ArrayList<String> wiseSayings = new ArrayList<>();
//(생략...)
System.out.println(" %d번에 번호가 등록되었습니다.".formatted(id));
} else if (cmd.equals("목록")){
System.out.println("번호 / 이름 / 전화번호");
System.out.println("===================");
for (int i = wiseSayings.size() - 1; i >=0; i--) {
System.out.println(wiseSayings.get(i));
}
ArrayList는 Java에서 제공하는 동적 배열을 구현한 클래스다. 내부적인 배열으로 조회 속도가 빠르다는 장점이있다. 크기가 커질수록 메모리 사용량이 증가하므로 간단한 데이터를 관리할 때 유용하다.
else if로 사용자가 목록을 입력하면 저장된 전화번호 목록을 보여준다. 최신 등록 순으로 보여주기 위해 for문으로 위와 같은 코드를 입력했다.
여기까지 전화번호부를 만들 기초적인 코드를 짜고
등록을 통해 전화번호 등록 및 목록을 보여주는 기능까지 구현했다.