>source

코딩이 처음이고 링크드리스트를 반복하려고 합니다. 아래는 질문입니다. 1에서 8 사이의 요소를 갖는 Linkedlist를 생성합니다. 목록을 반대로 해야 하지만 하나의 조건, 즉 num이 2로 주어지면 출력은 다음과 같은 방식으로 생성되어야 합니다. [2, 1,4,3,6,5,8,7].

아래에서 code를 찾으십시오. num이 2 또는 4인 경우 해당 답변을 얻을 수 있었습니다.

LinkedList<Integer> list= new LinkedList<>();
    for (int i= 1; i < 9; i++) {
        list.add(i);
    }
    int n= 2;
    LinkedList<Integer> outList= new LinkedList<>();
    while(list.size()>0) {
        for(int i=n-1;i>=0;i--) {
            outList.add(list.get(i));
            list.remove(i);
        }
    }
    System.out.println(outList);

이것이 적절한 방법인지 모르겠습니다. 적절한 솔루션을 도와주세요.

내가 직면한 문제는 num을 3으로 지정하는 경우입니다. 마지막 반복에 요소가 2개뿐이므로 IndexOutOfBoundsException이 발생합니다.

Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 2, Size: 2
    at java.base/java.util.LinkedList.checkElementIndex(LinkedList.java:559)
    at java.base/java.util.LinkedList.get(LinkedList.java:480)
    at com.src.User.main(User.java:21)

  • 이전 python : Dataframe을 통해 반복하고 특정 값에 대한 단어 계산
  • 다음 sublimetext3 : 숭고한 텍스트 3에서 저장되지 않은 변경 사항 표시를 닫는 방법은 무엇입니까?