2012-07-18 2 views
0

현재 공부하고 있으며 Java 프로그래밍에 익숙하지 않은데 노드와 간단한 목록에 대한 질문이 있습니다.자바가있는 텍스트 파일의 간단한 목록

나는이 L1: 1, 5, 8, 4L2: 4, 8, 9, 4과 같은 두 개의 파일을 읽고 그들은 List 아닌 Array에 저장해야합니다. 나는 약간의 코드를 작성했지만 그것이 내가해야만했던 것이 아니기 때문에 노드와리스트를 이해할 수 있다면 정말 고맙겠습니다.

또한 파일을 읽은 후 다른 두 목록의 합계로 다른 목록을 생성해야합니다. 이 합계는이 L3: 5, 13, 17, 8

이 같아야하므로 목록의 위치와 함께하는 내가 사용하는 코드입니다 :

import java.io.BufferedReader; 
import java.io.File; 
import java.io.FileReader; 
import java.util.StringTokenizer; 

public class Read { 

    public static void main(String[] args) { 
     // TODO Auto-generated method stub 
     FileReader fr, fr2; 
     try { 
      fr = new FileReader(new File("list1.txt")); 
      BufferedReader br = new BufferedReader(fr); 
      String line = br.readLine(); 

      fr2 = new FileReader(new File("list2.txt")); 
      BufferedReader br2 = new BufferedReader(fr2); 
      String line2 = br2.readLine(); 

      StringTokenizer st = new StringTokenizer(line, ", "); 
      int dimension = st.countTokens(); 
      int sum = 0; 
      int sum2 = 0; 
      int total = 0; 

      int[] arrNum = new int[dimension]; 

      while (st.hasMoreTokens()) { 
       System.out.print("List 1: "); 
       for (int i = 0; i < arrNum.length; i++) { 
        arrNum[i] = Integer.parseInt(st.nextToken()); 
        System.out.print(arrNum[i] + ", "); 
        sum += arrNum[i]; 
       } 
      } 
      System.out.println("\nThe sum of the first list is: " + sum + "\n"); 

      StringTokenizer st2 = new StringTokenizer(line2, ", "); 
      int dimension2 = st2.countTokens(); 

      int[] arrNum2 = new int[dimension2]; 

      while (st2.hasMoreTokens()) { 
       System.out.print("List 2: "); 
       for (int j = 0; j < arrNum2.length; j++) { 
        arrNum2[j] = Integer.parseInt(st2.nextToken()); 
        System.out.print(arrNum2[j] + ", "); 
        sum2 += arrNum2[j]; 
       } 
      } 
      System.out.println("\nThe sum of the second list is: " + sum2); 

      total = sum + sum2; 
      System.out.println("\nThe sum of the lists are: " + total); 

      br.close(); 
      br2.close(); 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
    } 
} 

내가 어떻게 목록이 작업을 수행하는 말해 줄 수 희망 노드.

+2

당신은'무엇을 의미합니까 자세한 내용은 "하지만 내가 ... 할 suppoused 무슨 아니다"'? 더 자세한 정보를 제공 할 수 있습니까? 또한 코드를 더 형식화 할 수 있습니까? 코드가 항상 왼쪽 맞춤인가요? 또는 들여 쓰기를 사용하여 다른 사람과 자신의 코드를 더 잘 이해할 수 있도록 도와 주나요? –

+0

어쩌면 당신은'List l1 = new ArrayList (); l1.add (Integer.parseInt (st.nextToken()));'. List 인터페이스를 사용하거나 LinkedList 구현을해야하는지 여부를 지정하지 않았으므로이 경우를 가정합니다. –

+0

노드는 어디에 있습니까? – vainolo

답변

0

LinkedListdocumentationexamples

+0

답해 주셔서 감사합니다. 문제는 LinkedLists를 사용해야한다는 것입니다.이 노드를 사용하여 찾고있는 노드에 대해 다음 노드와 연결할 수 있습니다. 코드에 관해서는 다른 방법으로 형식화했지만 코드를 게시하는 것은 처음이기 때문에 게시하는 데 약간의 문제가 있으며 이것이 게시 할 수있는 유일한 방법입니다. – Jose

관련 문제