该程序应该读取一个名为data.txt的文件,其中包含年份和温度......
1 1950 11
2 1950 22
3 1950 65
4 1950 103
5 1950 99
然后将它们分成两个独立的数组并打印出来,如下所示......
(1950, 11)
(1950, 22)
(1950, 65)
(1950, 103)
(1950, 99)
但是我很难搞清楚如何使用数组将两个整数分开。
由于
这是我目前的代码
import java.util.Scanner;
import java.io.*;
public class ReadFile {
public static void main(String[] args) throws FileNotFoundException {
Scanner input = new Scanner(new File("data.txt"));
int[] year = new int[];
for(int i = 0; i < year; i++) {
year[i] = input.nextInt();
System.out.println(year);
}
//int[] temperature = new int[150];
}
}
答案 0 :(得分:0)
您拥有的代码甚至无法编译。您需要指定int数组的大小,例如:
int[] year = new int[1024];
循环需要与数组的长度进行比较,而不是与数组本身进行比较:
for(int i = 0; i < year.length; i++) {
当您尝试打印年份时,您将再次处理数组,而不是单个数字,并最终会使用[I@7ea987ac
之类的内容。因此,如果要打印的数组元素,请指定索引。
System.out.println(year[i]);
由于您只想打印数字,我不知道为什么您首先需要一个数组。
不使用数组也可以省去正确猜测它需要多大的麻烦。只需阅读并打印,直到完成所有输入。
您还需要忽略示例输入中的行号。
import java.util.Scanner;
import java.io.*;
public class ReadFile {
public static void main(String[] args) throws FileNotFoundException {
Scanner input = new Scanner(new File("data.txt"));
while (input.hasNext()) {
input.nextInt(); // dummy line number
int year = input.nextInt();
int temp = input.nextInt();
System.out.println("(" + year + ", " + temp + ")");
}
}
}