2014-04-13 2 views
0

처음으로 프로그램에서 세트 목록을 사용하려고하는데 모든 작업과 조사에서이 작업을 수행하는 것처럼 보였습니다. 그러나 이클립스는 내가 할 수 있다고 말하고 있습니다. List를 사용하지 마라. 나는 왜 그런지 이해하지 못한다. 도와주세요!세트 목록 사용 시도

내 프로그램이 의도 한 바를 알고 싶으면 선택한 텍스트 파일을 읽고 중복, 구두점 또는 대문자없이 해당 텍스트를 표시해야합니다. 이 문제를 제외하고는 작동합니다.

import java.util.Arrays; 
import java.util.HashSet; 
import java.util.Iterator; 
import java.util.Scanner; 
import java.util.Set; 
import java.awt.List; 
import java.io.*; 
import java.util.*; 

import javax.swing.JFileChooser; 

public class Lab7 { 

    public interface OrderedList<T extends Comparable<T>> extends Iterable<T> 
    { 
     public void add(T element); 
     public T removeFront(); 
     public T removeRear(); 
     public int size(); 
     public boolean isEmpty(); 
     public boolean contains(T element); 
     public Iterator<T> iterator(); 
    } 


    public static void main(String[] arg) throws FileNotFoundException 
    { 

     Scanner scan = null; 
     JFileChooser chooser = new JFileChooser("../Text");  
     int returnValue = chooser.showOpenDialog(null); 
     if(returnValue == JFileChooser.APPROVE_OPTION) 
     { 
      File file = chooser.getSelectedFile(); 
      scan = new Scanner(file); 
     } 
     else 
      return; 
     int count = 0; 
     while(scan.hasNext()) 
     { 
      String[] things = {scan.next()}; 
      List<String> list = Arrays.asList(things); 

      Set<String> set = new HashSet<String>(list); 

      System.out.println(set + scan.next().replaceAll("[\\W]", "").toLowerCase()); 
      count++; 
     } 
     scan.close(); 

     System.out.println(); 

     System.out.println(chooser.getName() + " has " + count + " words."); 

    } 
} 

답변

1

당신은 잘못된 유형 가져 오는 :

import java.awt.List; 

을 당신은해야합니다

import java.util.List; 
+0

도현 ... 감사합니다! – Bfrank

+0

코드를 면밀히 살펴보면 ... 왜 여기에서하고있는 일을하는지 잘 모르겠습니다. 왜 정확히 세트를 만드나요? 너는 그걸로 아무 것도하지 않는다. API를 실험하고있는 것일까? – torquestomp

+0

텍스트 파일의 모든 중복 요소를 제거하려고합니다. - 네, 저는 그것들을 실험하고 있습니다. 아직 Java를 모두 배우고 있습니다. ( 편집 : 코드를 다시 실행하면 중복이 제거되지 않습니다. 놓친 것이 있습니까? – Bfrank