Java:如何将.text中的值存储到数组中

时间:2014-03-03 22:17:57

标签: java arrays

我正在尝试编写一个从.txt文件中读取成绩的程序,然后以与数组索引相反的顺序输出成绩。

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

public class GradePrint {
public static void main(String[] args) throws IOException {
    Scanner in = new Scanner(new FileReader("data.txt"));
    int[] grades = new int[30];

    for (int i = 0; i < 30, i++){
        int grade = in.nextInt();

如何获取这些等级并将它们放入数组中然后以相反的顺序打印出来?

2 个答案:

答案 0 :(得分:0)

假设您的成绩在10 20 30 40等文本文件中,您可以在<{1}}循环中使用此代码

for

要以相反的顺序打印,您可以使用此int grade = in.nextInt(); //This code is from your code example grades[i] = grade; 循环:

for

答案 1 :(得分:0)

如果您事先不知道文件中有多少等级,我就不会使用数组。

相反,请尝试使用List,如此:

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

public class GradePrint {
public static void main(String[] args) throws IOException {
    List<Integer> grades = new ArrayList<Integer>();
    Scanner in = new Scanner(new FileReader("data.txt"));
    int[] grades = new int[30];

    for (int i = 0; i < 30, i++){
        grades.add(in.nextInt());
    }
}

你会注意到两件事。

1)我使用了接口List和类ArrayList。这是有目的的,因为ArrayListList,这可以做到。这样做的好处是,您可以稍后将ArrayList更改为其他内容,只要它仍然是List,它就会继续有效。

2)List提供了能够根据需要填充任意数量元素的好处,并且无需管理即可自动调整大小。

要从List中获取元素,请执行:

grades.get(i);

iList中成绩的位置。在这方面,您可以像对待数组一样处理List