gpt4 book ai didi

java - 字符串列表到 double java列表

转载 作者:行者123 更新时间:2023-11-29 06:23:53 25 4
gpt4 key购买 nike

我有一个包含 double 和字符串组合的数据文件,如下所示:

Rmax=2.3
Rmin=1.0

我正在使用 split() 像这样删除 =:

while ((strLine = br.readLine()) != null) {
String phrase = strLine;
try {
//splits to variable name, value
String[] parsed = phrase.split("[=]");
int parsed[0].toString() = parsed[1];

} catch (PatternSyntaxException e) {
System.out.println("Error: " + e.getMessage());
}
}

现在我正在尝试初始化值,以便 parsed[0] 成为整数的名称,而 parsed[1] 成为值。相当于初始化器int 名称 = 值;

显然是行

int parsed[0].toString() = parsed[1]; 

没用。我该怎么做?

最佳答案

这个怎么样

Map<String, Double> map = new HashMap<String,Double>()
while ((strLine = br.readLine()) != null) {
//splits to variable name, value
String[] parsed = phrase.split("=");
String name = parsed[0];
double value = Double.parseDouble(parsed[1]);
map.put(name, value);
}

如前所述,您必须捕获 NumberFormatException 并根据是否可能处理缺失的“=”。

如果您知道所有可能的字段,您可以使用枚举作为字段名称。


您可以使用通过反射设置的对象来代替 map 。

class Config {
double Rmax;
double Rmin;
// add more fields here.
}

Config config = new Config;
while ((strLine = br.readLine()) != null) {
//splits to variable name, value
String[] parsed = phrase.split("=");
try {
String name = parsed[0];
double value = Double.parseDouble(parsed[1]);
Config.class.getField(name).setDouble(value);
} catch (Exception e) {
// log exception.
}
}

关于java - 字符串列表到 double java列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6346972/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com