3 回答
TA贡献1802条经验 获得超5个赞
如何解析不同的数据类型:int、char、double、String 和 boolean
为了:
int x = Integer.parseInt(s)
char x = s.charAt(0)
double x = Double.parseDouble(s)
String x = s
boolean x = Boolean.parseBoolean(s)
TA贡献1845条经验 获得超8个赞
当前的问题是 thaArrayList<String> stats = new ArrayList<String>();
强制您读取的任何值都是String
。如果您了解了类,那么您可以创建一个模拟足球运动员的类:让我们以它FootballPlayer
为例。
您将FootballPlayer
拥有许多不同类型的字段。你会有一个表示lastName
is a String
、yearsExp
that is anint
等等。
然后,这里:
while(inputFile.hasNext()) { stats.add(inputFile.nextLine()); }
您可以保留与您要读取的字段相对应的索引。lastName
可以对应于index
0、1yearsExpr
等。然后,根据索引值(您可以使用语句),您可以调用返回适当类型switch
的不同方法,例如,如果索引为 1 (for )。调用此适当的方法后,您可以将返回值分配给 实例中的相应字段。Scanner
nextInt()
yearsExpr
FootballPlayer
将来,整个过程可以通过使用库来解析您正在使用的数据格式来为您处理,例如 CSV 解析器(因为看起来数据是用逗号分隔的)。
TA贡献1784条经验 获得超8个赞
您可以用 或任何其他常用分隔符分隔输入,,然后尝试一一解析。
String input = "Tom, 15, 6, 86.4"; // name, age, grade, mark
String[] inputs = input.split(", "); // [ Tom, 15, 6, 86.4 ]
for (String in : inputs) {
if (isInteger(in)) {
// something
} else if (isString(in)) {
// other thing
} // etc
}
添加回答
举报