2

こんにちは、私はスタック オーバーフローにかなり慣れていないので、これを正しく行っており、誰かが必要な答えを持っていることを願っています。

私は現在、Eclipse IDEを使用してJavaでプログラムをコーディングしています.私の質問はこれです:

次のことを行うコードのスニペットが必要です

テキストを含む.TXTファイルを取得し、その.TXTファイルから行数を数えて印刷し、単語数を数えて印刷し、文字数を数えて印刷することになっています。最後に、使用された上位 10 語のリストを作成し、それを出力します。

すべての印刷はシステム outprintln に対して行われます

私はJavaにかなり慣れていないので、いくつかの問題を抱えています。

これらのコード行を提供してくれる人、またはどこで見つけられるか知っている人はいますか? 提供されたコードを勉強したいです。それが私が最もよく学ぶ方法です=)

ありがとうございます

編集ボタンが見当たりませんでした...

これを質問に追加しました:

これは課題ですが、宿題ではありません。わかりました。これまでに行ったことを提供できると思います。かなり近いと思いますが、うまくいきません。私が逃したものはありますか?

// Class    Tip


import java.io.*;
import java.util.*;

class Tip
{
    public static void main(String [] args) throws Exception
    {

        String root = System.getProperty("user.dir");   
        InputStream is = new FileInputStream( root + "\\tip.txt" );
        Scanner scan = new Scanner( is );

        String tempString = "";
        int lines = 0;
        int words = 0;
        Vector<Integer> wordLength = new Vector<Integer>();
        int avarageWordLength = 0;

        while(scan.hasNextLine() == true)
        {
                tempString = scan.nextLine();
                lines++;
        }

        is.close();

        is = new FileInputStream( root );
        scan = new Scanner( is );

        while(scan.hasNext() == true)
        {
                tempString = scan.next();
                wordLength.add(tempString.length());
                words++;
        }

        for(Integer i : wordLength)
        {
                avarageWordLength += i;
        }
        avarageWordLength /= wordLength.size();


        System.out.println("Lines : " + lines);
        System.out.println("Words : " + words);
        System.out.println("Words Avarage Length : " + avarageWordLength);

        is.close();     
    }
}
4

5 に答える 5

2

Googleに「java count words example」と入力すると、いくつかの候補が表示されました。

このリンクは適切な出発点のようです。

ここからのこの簡単な例も、いくつかのアイデアを与えるかもしれません:

public class WordCount
{
  public static void main(String args[]) 
  {
    System.out.println(java.util.regex.Pattern.compile("[\\w]+").split(args[0].trim()).length);
  }
}
于 2009-01-29T10:55:43.863 に答える
0

完全な答えではありませんが、Sun の Java IO チュートリアルを見ることをお勧めします。ファイルからの読み取りと書き込みを扱います。特にスキャナーとフォーマッターに関するチュートリアル

これは、Webサイトからのチュートリアルの要約です

I/O のプログラミングには、多くの場合、人間が操作するのを好む適切にフォーマットされたデータとの間の変換が含まれます。これらの作業を支援するために、Java プラットフォームには 2 つの API が用意されています。スキャナー API は、入力をデータのビットに関連付けられた個々のトークンに分割します。フォーマット API は、適切にフォーマットされた、人間が判読できる形式にデータを組み立てます。

だから私には、まさにあなたが求めているAPIのように見えます

于 2009-01-29T10:54:31.027 に答える
0

Apache Commons Utilsを使用すると、WordUtil という便利なユーティリティがあり、文と単語を使って簡単なことを行うことができます。

于 2009-01-29T14:24:44.113 に答える