【问题标题】:File Scan and separate into 2 separate arrays文件扫描并分成 2 个单独的阵列
【发布时间】:2015-11-13 22:41:51
【问题描述】:

这个程序应该读取一个名为 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];
    }
}

【问题讨论】:

  • 什么编程语言?你试过什么了?发生了什么?
  • 对不起,它的 java
  • 导入 java.util.Scanner;导入java.io.*;公共类 ReadFile { public static void main(String[] args) throws FileNotFoundException { Scanner input = new Scanner(new File("data.txt")); int[] 年 = 新的 int[]; for(int i = 0; i
  • 请修改您的答案并在此处包含代码。这样我们就可以得到语法高亮。

标签: java arrays file int


【解决方案1】:

您拥有的代码甚至无法编译。您需要指定 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 + ")");
        }
    }
}

【讨论】:

  • 我明白你的意思,我前一阵子就有了,并试图从那里把它变成一个数组,但我没有成功。不幸的是,它需要是一个数组。
  • @ChrisBrocato 为什么它需要是一个数组?
猜你喜欢
  • 1970-01-01
  • 2014-06-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-01-28
  • 2015-03-10
  • 1970-01-01
  • 2022-01-16
相关资源
最近更新 更多