0

また。単語のカウントとそれを配列に格納する方法についてもう一度質問します。これまでのところ、私が得たのはこれだけです。

Scanner sc = new Scanner(System.in);
int count;
 void readFile() {
 System.out.println("Gi navnet til filen: ");
 String filNavn = sc.next();

 try{
     File k = new File(filNavn);
     Scanner sc2 = new Scanner(k);
     count = 0;
     while(sc2.hasNext()) {
     count++;
     sc2.next();
     }
     Scanner sc3 = new Scanner(k);
     String a[] = new String[count];
     for(int i = 0;i<count;i++) {
     a[i] =sc3.next();
     if ( i == count -1 ) {
         System.out.print(a[i] + "\n");
     }else{
         System.out.print(a[i] + " ");
     }
     }
     System.out.println("Number of words: " + count);
 }catch(FileNotFoundException e) {

私のコードは動作します。しかし、私の質問は、これに対するより簡単な方法はありますか? もう 1 つの問題は、hashmap と arraylist を使用せずに、特定のファイル内の合計単語から一意の単語をカウントするにはどうすればよいかということです。

4

1 に答える 1

2

より簡単な方法は次のとおりです。

    public static void main(String[] args){
    File f= new File(filename);
    BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(f)));
    String line = null;
    String[] res;
    while((line = br.readLine())!= null ){
        String[] tokens = line.split("\\s+");
        String[] both = ArrayUtils.addAll(res, tokens);
    }
    }
于 2013-10-03T19:19:48.363 に答える