파일에서 점수를 입력받는데..
배열이아니라 linkedlist를 이용해야하는데...ㅅㅂ
linkedlist클래스를 쓰는게 아니라 클래스를 만들어서 써야함..,,...
package 실습1;
import java.io.*;
import java.util.Scanner;
import java.util.StringTokenizer;
class Node {
public double item;
public Node next;
public Node(double item, Node next) { // 생성자
this.item = item;
this.next = next;
}
public Node(double item) { // 생성자
this(item, null);
}
}
public class LinkedList {
public static Node insertAfterTail(Node list, double data){ //입력
if (list == null){
list = new Node(data);
}
else {
Node scan = list;
while (scan.next != null) // 리스트의 끝까지 순회
scan = scan.next;
Node newNode = new Node(data);
scan.next = newNode;
list = scan.next;
}
return list;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
try{
Scanner inFile = new Scanner(new File("input.txt"));
String lineString;
double score;
int count =0;
int numCourses = inFile.nextInt(); // 과목 수 읽음
Node[] scoreTable = new Node[numCourses]; //Node배열 선언
inFile.nextLine(); // 과목 수 읽은 후 나머지 라인 읽어서 버림
while (inFile.hasNextLine()) {
lineString = inFile.nextLine(); // 점수 있는 라인 전체 읽음
StringTokenizer line = new StringTokenizer(lineString);
while (line.hasMoreTokens()) {
count =0;
score = Double.parseDouble(line.nextToken());
insertAfterTail(scoreTable[count],score); /////여기가 문제임
}
count++;
System.out.println();
}
inFile.close();
}
catch(FileNotFoundException e){
System.out.println("Error opening the file");
}
}
}
input.txt
4
20.5 30.2 45.4
93.3 73.2
45.3 20.5 39.4 50 23
23.4
저기 처음에 Node배열을 만들어서...input파일에서 읽어와서 저장해야하는데...
insertAfterTail(scoreTable[count],score); 여기서 왜 값을 입력을 못받냐???????
scoreTable[0] =20.5
scoreTable[0].next = 30.2
scoreTable[0].next.next = 45 .4
이런식으로 저장이 되야하는데
디버깅 돌려보니 scoreTable 이배열 그냥 널값으로 되있다....
머가 문제냐?
댓글 0