아직 푸는중이다...
1주차에 했던 요리 레시피를 2주차에 배운 List / Set / Map을 통해 Scanner로 입력&출력 하는 문제로 일단 ArrayList만 해봤는데 나머지가 생각보다 어렵다. 일단 지금까지 한 내용 TIL로 쓰고 나머지는 내일 이어서 하면 될 거 같다.
ArrayList랑 Scanner 상단에 써주고
ArrayList<String> strList = new ArrayList<>();
Scanner sc = new Scanner(System.in);
처음에는 1주차 처럼 한 줄씩 데이터를 받고 List에 누적해서 출력하려 했는데 번거로운거 같아서 반복문을 쓰기로 했다.
strArr.add(sc.nextLine()); // 사용방법
strArr.add(sc.nextLine()); // 음식
strArr.add(sc.nextLine()); // 레시피
strArr.add(sc.nextLine()); // 끝
System.out.println("[ " + strArr.get(0) + " " + strArr.get(1) + " ]");
마지막에 나오는 "끝"을 입력하면 탈출을 해야하는데 계속 반복됐다...
생각해보니 text, "끝" 둘다 텍스트여서 equals으로 수정하니 잘 탈출했다.
(힌트에 도움을 받았다..)
while (true){
String text = sc.nextLine();
strSet.add(text);
if(text == "끝")){ //
break;
}
}
>>>>>>>>>>>>>>>>>
* 변경 후
if(text.equals("끝")){ //
break;
}
그리고 strList.get을 통해 0,1 번째 출력해 붙여주고 끝을 제외한 나머지 레시피를 출력 할 수 있도록 2 ~ (전체-1)로 출력했다.
이 부분에서도 strList[i] 처럼 했다가 오류가 나서 수업한 파일 보고 왔다. List, Set, Map 조금씩 다른 부분이 있으니 그런 내용을 잘 체크해야 할 거 같다.
System.out.println("[ " + strList.get(0) + " " + strList.get(1) + " ]");
for(int i=2; i<strList.size()-1;i++){
System.out.println(i-1 + ". " + strList.get(i) );
}