0

リンクされたリストに行を追加する前に、テキスト ファイルから各行を読み取り、最初に長さに従って並べ替え、次に元のドキュメント内の位置にする必要があります。

次に、リストの内容を行ごとに出力する必要があります。出力する行番号と、その行に含まれるスペース以外の文字数を示す接頭辞を付けます。

以下は I/O の例です。

Input (i.e. contents of text file)

this
is
just
a
test

Output

1/1: a
2/2: is
3/4: this
4/4: just
5/4: test
4

4 に答える 4

2

ファイルとスキャナーを使用する必要があります。コードは次のようになります。

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

public class ReadAndWrite {
    public static void main(String[] args) throws IOException {

        Scanner scan = new Scanner(new File("yourfile.txt"));

        int i = 1;
        while(scan.hasNext()) {
            String s = scan.nextLine();
            System.out.println("Line " + i + " says " + s + " and has " + s.length() + " characters.";
            i++;
        }
        System.out.println("/nNo more lines in the file.");
    }
}
于 2013-09-23T12:00:11.583 に答える
1

あなたのためにそれを解決する代わりに、あなたの課題を解決するのに役立つさまざまなリンクを提供します.

1) JAVAでファイルを読み込む

2) 文字列読み取りに対して実行できるさまざまな文字列操作:文字列操作

3) コンパレーターを使用した Java でのコレクションのソート:コレクションのソート

于 2013-09-23T11:49:19.847 に答える
1
  1. テキスト ファイルから各行を読み取る必要があります: FileReader と BufferedReader を使用します。
  2. リンクされたリストに行を追加する前に、最初に長さに従って並べ替え、次に元のドキュメント内の位置になります。元のドキュメントの (String,lineNo) で HashMap を作成します。
  3. Comparator を使用して、最初に長さで並べ替え、次に三項演算子を使用して行 pos (hashMap から取得) で並べ替えます。

  4. 行にある非スペース文字の数: "s+" を使用して行を分割します。for ループを使用して、すべてのサブ配列の長さを追加します。

  5. arraylist からの出力中に、 count + nonSpaceChars in line + line を出力します。

これで十分であることを願っています

于 2013-09-23T12:07:47.437 に答える