1

我正在尝试用java编写一个小程序,它将根据球体的半径计算球体的表面面积和体积。这些半径来自带有单列数字的 .txt 文件。

我试过搜索一下: Reading numbers in java

代码示例对我来说看起来有点复杂,因为我在阅读 Java 代码方面还不够舒服和经验丰富。我也试过读这个:

从文本文件中打开和读取数字

我对“try”关键字感到困惑,除此之外,它有什么用?

第二个示例在哪里说File("file.txt");我要输入文本文件的路径吗?

如果有人可以向我指出一个可以让初学者了解这些内容的教程,我非常想知道。

到目前为止,这是我的代码:

import java.io.*;

// 此类读取包含单列数字的文本文件 (.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文件的每一行应该只有一个数字,像这样

10
20
30
于 2012-11-26T12:14:44.897 回答
0

- try/catch最后是处理执行某些工作时出现的Exceptionsor Errors(as both 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 回答