현재 공부하고 있으며 Java 프로그래밍에 익숙하지 않은데 노드와 간단한 목록에 대한 질문이 있습니다.자바가있는 텍스트 파일의 간단한 목록
나는이 L1: 1, 5, 8, 4
및 L2: 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();
}
}
}
내가 어떻게 목록이 작업을 수행하는 말해 줄 수 희망 노드.
당신은'무엇을 의미합니까 자세한 내용은 "하지만 내가 ... 할 suppoused 무슨 아니다"'? 더 자세한 정보를 제공 할 수 있습니까? 또한 코드를 더 형식화 할 수 있습니까? 코드가 항상 왼쪽 맞춤인가요? 또는 들여 쓰기를 사용하여 다른 사람과 자신의 코드를 더 잘 이해할 수 있도록 도와 주나요? –
어쩌면 당신은'List l1 = new ArrayList (); l1.add (Integer.parseInt (st.nextToken()));'. List 인터페이스를 사용하거나 LinkedList 구현을해야하는지 여부를 지정하지 않았으므로이 경우를 가정합니다. –
노드는 어디에 있습니까? – vainolo