为什么我的数组从我正在阅读的文件中删除零?

时间:2010-02-01 14:17:23

标签: java arrays

好吧,我正在尝试阅读一个如下所示的文本文件:

FTFFFTTFFTFT
3054 FTFFFTTFFTFT
4674 FTFTFFTTTFTF
......等等。

当我阅读它时,所有内容都会编译并运行得非常好,将所有内容放入这样的数组中:

studentID [0] = 3054
studentID [1] = 4674
......等等。

studentAnswers [0] = FTFFFTTFFTFT
studentAnswers [1] = FTFTFFTTTFTF

但是,如果studentID具有前导零或尾随零,当我使用System.out.println();打印它时,它会删除前导零和尾随零!我觉得这很简单,我需要复制数组或其他东西。谢谢:))

以下是我的代码:

public static String[] getData() throws IOException {
  int total = 0;
  int[] studentID = new int[127];
  String[] studentAnswers = new String[127];

  String line = reader.readLine();
  String answerKey = line;
  StringTokenizer tokens;
  while((line = reader.readLine()) != null) {
    tokens = new StringTokenizer(line);
    studentID[total] = Integer.parseInt(tokens.nextToken());
    studentAnswers[total] = tokens.nextToken();
    System.out.println(total + " " +studentID[total]);
    total++;
  }
  return studentAnswers;
}

5 个答案:

答案 0 :(得分:10)

使用String代替int。作为一般规则,使用积分类型进行计算。

答案 1 :(得分:4)

如果您想保留零,请不要在学生ID上使用parseInt;只需将它们存储为字符串。

答案 2 :(得分:4)

int类型没有前导零的概念。

要添加前导零以供显示,请使用format方法之一:

System.out.format("%04d", 80);

答案 3 :(得分:0)

Integer.parseInt(tokens.nextToken());将返回整数,因此将省略前导零。

答案 4 :(得分:0)

查看DecimalFormat类来处理数字的解析/格式化。