프로그램 내용은 그냥 데이터를 입력받아서 정렬해서 넣고 그걸 입력받은 기능에 따라 처리하는 건데요
데이터를 저장하기 위해 링크드 리스트를 만드는 것 까지는 성공적으로 했는데 콘솔로 입력을 받아서 해보려고 하니까 안되네요 ㅠㅠ
밑은 실행부분 코드입니다
public static void main(String args[])
{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
while (true)
{
try
{
String input = br.readLine();
if (input.compareTo("QUIT") == 0)
break;
command(input);
}
catch (Exception e)
{
System.out.println("입력이 잘못되었습니다. 오류 : " + e.toString());
}
}
}
private static void command(String input) {
MovieDatabase test = new MovieDatabase();
String commander = getCommand(input);
if(commander.equals("INSERT")) test.Insert(getGenre(input));
if(commander.equals("PRINT")) test.printList();
}
main에서 입력을 받고 command에 가서 실행하는 코드입니다.
test는 실험을 하기 위해 만들었고 getCommand랑 getGenre는 클래스를 따로 만들어 저장을 하게 했어요. 예를 들면 INSERT %A%면 commander는 INSERT가 리턴되고 genre는 A가 리턴되도록..
그리고 Insert 함수는 링크드리스트에 입력하는 함수이고 printList는 출력하는 함수..
이리저리 디버깅해본 결과 command로 넘어오는 것 까지는 잘되고
각각 코드가 if문에 따라서 실행은 되는데 Insert로 넣으면 그 값이 링크드리스트에 저장이 안되는 것 같아요. print를 해보면 빈 값이 나오네요..
콘솔에서 입력을 받지 않고 코드 안에서 test.Insert("ABC")이런 식으로 미리 적어놓고 print를 해보면 잘 저장이 됩니다.
입력만 하면 끝인데 자바 초보라..ㅠㅠ
팁 부탁드립니다!