【发布时间】:2015-05-28 18:24:16
【问题描述】:
Java 在读取文本文件时返回字符串值,但它只会为我的整数值返回“0”,为我的双精度值返回“0.0”。
Cars car[] = new Cars[5];
int cnt = 0;
String line = inF.readLine();
while(line != null){
String[] field = line.split("\\s+");
int yrData = Integer.parseInt(field[2]);
double disData = Double.parseDouble(field[3]);
car[cnt] = new Cars(field[0], field[1], yrData, disData);
cnt++;
line = inF.readLine();
}
for(int i=0; i<cnt; i++){
System.out.println(i+1 +": "+ car[i]);
}
示例: Java返回什么---> 1:名称:欧宝车型:Astra 年份:0 Disp:0.0
文本文件里有什么:Opel Astra 1997 2.8
这是我的构造函数:
Cars(String dataForName, String dataForModel, int dataForYear, double dataForDisp){name = dataForName; model = dataForModel; int year = dataForYear; double disp = dataForDisp;}
这是我的 toString 方法:
public String toString(){String s = "Name: "+name+" Model: "+model+" Year: "+year+" Disp: "+disp; return s;}
文本的分隔符是空格。
【问题讨论】:
-
你可以为你的构造函数包含代码吗?这应该有效。
-
对于
toString方法也是如此。 -
文本的分隔符是什么?是空格(或)TAB(\t)吗?
标签: java arrays object text-files readline