我需要从文件中读取这样的行: 5 椅子 12.49 编辑:我希望能够有更多的数据行。
我需要将每个单词/数字分成不同的数据类型。第一个是 int,第二个是 String,第三个是 double。然后我需要将它们格式化如下: 商品:椅子 价格:12.49 美元 数量:5
现在我知道如何格式化,我遇到的唯一问题是将字符串元素解析为其受尊重的数据类型(int、string、double)。
我已经尝试过:
String [] lines = lineInput.split(" ");
for(String displayLines : lines) {
bufferedWriter.write(displayLines);
bufferedWriter.newLine();
System.out.println(displayLines);
}
但这只是将每个字符串分隔成一个新行,我一生都无法弄清楚如何让每一行检查它是 int、string 还是 double。
然后我搞乱了子字符串,但无法让它工作。我什至想到使用 mod % 函数和 if:
if(lines.length % 2 == 0) {it's a string};
但这仅适用于第一行。
请相信我,我已经自己尝试过了,而不仅仅是半途而废。我只是放弃了。 StackOverFlow,你是我唯一的希望:(
最佳答案
如果您的行格式为 [int] [String] [double],您可以执行以下操作:
String [] line = lineInput.split(" ");
int x = Integer.parseInt(line[0]);
String s = line[1];
double d = Double.parseDouble(line[2]);
您可以根据需要修改此设置以处理不同格式的行。
关于java - java I/O 的字符串数组逻辑问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2731742/