我正在尝试编写一个从.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();
如何获取这些等级并将它们放入数组中然后以相反的顺序打印出来?
答案 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
。这是有目的的,因为ArrayList
是List
,这可以做到。这样做的好处是,您可以稍后将ArrayList
更改为其他内容,只要它仍然是List
,它就会继续有效。
2)List
提供了能够根据需要填充任意数量元素的好处,并且无需管理即可自动调整大小。
要从List
中获取元素,请执行:
grades.get(i);
i
是List
中成绩的位置。在这方面,您可以像对待数组一样处理List
。