好吧,我正在尝试阅读一个如下所示的文本文件:
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;
}
答案 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类来处理数字的解析/格式化。