1

球の半径に基づいて、球の表面積と体積を計算する小さなプログラムを Java で作成しようとしています。これらの半径は、1 列の数値を含む .txt ファイルから取得されます。

私はこれを少し検索してみました: Javaで数字を読む

私はまだJavaコードを読むのに慣れていないので、コード例は少し複雑に見えます。私もこれを読んでみました:

テキスト ファイルから数値を開いて読み取る

「try」キーワードについて混乱していますが、何のためにあるのですか?

2 番目の例File("file.txt");の「テキスト ファイルへのパスを入力しますか?」

誰かがこれらのことを初心者に説明するチュートリアルを教えてくれるなら、ぜひ知りたい.

これまでの私のコードは次のとおりです。

import java.io.*;

// このクラスは、1 列の数値を含むテキスト ファイル (.txt) を読み取ります

パブリック クラス ReadFile {

/**
 * @param args
 */
public static void main(String[] args) {
    // TODO Auto-generated method stub

    String fileName = "/home/jacob/Java Exercises/Radii.txt";

    Scanner sc = new Scanner(fileName);

}

}

よろしくお願いします、

ジェイコブ・コルストラップ

4

2 に答える 2

0

小さくて単純なスニペットを次に示します。

Scanner in = null;
try {
    in = new Scanner(new File("C:\\Users\\Me\\Desktop\\rrr.txt"));
    while(in.hasNextLine()) {
        int radius = Integer.parseInt(in.nextLine());

        System.out.println(radius);
        // . . .
    }
} catch(IOException ex) {
    System.out.println("Error reading file!");
} finally {
    if(in != null) {
        in.close();
    }
}

try-catchブロックは、Javaで例外を処理するために使用されるものです。それらについてのすべてと、なぜそれらが役立つのかをここで読むことができます:http: //docs.oracle.com/javase/tutorial/essential/exceptions/


もちろん、Java 7以降を使用している場合は、。と呼ばれるものを使用して前のコードを簡略化できますtry-with-resources。これは別のタイプのtryブロックですが、これにより「自動クローズ可能な」ストリームが自動的に閉じられfinally、コードの醜いセクションが削除されます。

try (Scanner in = new Scanner(new File("C:\\Users\\Me\\Desktop\\rrr.txt"))) {
    while(in.hasNextLine()) {
        int radius = Integer.parseInt(in.nextLine());

        System.out.println(radius);
        // . . .
    }
} catch(IOException ex) {
    System.out.println("Error reading file!");
}

詳細については、http try-with-resources//docs.oracle.com/javase/tutorial/essential/exceptions/tryResourceClose.htmlを参照してください。

rrr.txtファイルには、各行に1つの番号が含まれている必要があります。

10
20
30
于 2012-11-26T12:14:44.897 に答える
0

- try/catchそして最後に、いくつかの作業の実行中に発生するExceptionsor Errors(両方が extendsとして) を処理する方法です。 Throwable Class

例:ファイル I/O、ネットワーク操作など。

Scanner in = null;  

try {

    in = new Scanner(new File("C:\\Users\\Me\\Desktop\\rrr.txt"));

    while(in.hasNextLine()) {

  int radius = Integer.parseInt(in.nextLine());  // If this is     
                                                 // not an integer
                                                 // NumberFormatException is thrown.
        System.out.println(radius);


    }

} catch(IOException ex) {

    System.out.println("Error reading file!");

} catch(NumberFormatException ex){

    System.out.println("Its not an integer");
}
 finally {
    if(in != null) {
        in.close();
    }
}
于 2012-11-26T12:24:34.457 に答える