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拥有许多不同类型的字段。你会有一个表示lastNameis a String、yearsExpthat is anint等等。
然后,这里:
while(inputFile.hasNext()) {
stats.add(inputFile.nextLine());
}您可以保留与您要读取的字段相对应的索引。lastName可以对应于index0、1yearsExpr等。然后,根据索引值(您可以使用语句),您可以调用返回适当类型switch的不同方法,例如,如果索引为 1 (for )。调用此适当的方法后,您可以将返回值分配给 实例中的相应字段。ScannernextInt()yearsExprFootballPlayer
将来,整个过程可以通过使用库来解析您正在使用的数据格式来为您处理,例如 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
}
添加回答
举报
