gpt4 book ai didi

java - 从文件中读取行,并处理每一行中的单个单词?

转载 作者:行者123 更新时间:2023-11-29 08:17:17 24 4
gpt4 key购买 nike

我正在尝试读入一个 .txt 文件并创建一个 map 来计算每个代理 ID 以美元和美分列出的总属性(property)。代理 ID 是每行末尾的三位数字。问题是,我不确定该怎么做。

我在想我应该创建一个 while 循环并将每一行添加到一个数组列表中,然后......我迷路了。


110001 commercial 500000.00 101<br/>
110223 residential 100000.00 101<br/>
110333 land 30000.00 105<br/>
110442 farm 200000.00 106<br/>
110421 land 40000.00 107<br/>
112352 residential 250000.00 110

好的,我知道自从我开始这个话题以来已经有很长时间了,但我已经好几个星期没能重新审视这个问题了。 (我正在尝试学习这个是为了个人成长,所以它不是优先事项)到目前为止我已经走到这一步......

我创建 map 的方法是这样的:

public void createMap()
{
if(in != null)
{
while(in.hasNextLine())
{
String s = in.nextLine().trim();
System.out.print(s);


String[] p = s.split(" ");

String agentId = p[3];

double property = Double.valueOf(p[2]);

if(!map.containsKey(agentId)){
//if not then add the new key with new value
map.put(agentId, property);
in.nextLine();
}
else
{ //if key is present, add the value..
map.put(agentId, map.get(agentId) + property);
in.nextLine();
}


}
}
}

然后在我正在运行的程序中:我将 map 转换为 Set 并使用增强的 for 循环打印每个键和值。

Set<String> keySet = examp.map.keySet();
for (String key : keySet)
{
double value = examp.map.get(key);
System.out.println(key + "->" + value);
}

然而,我的输出给了我这个:{}“空括号”!我做错了什么?

最佳答案

从文件中读取数据后,这些选项可能是解析字符串的最简单方法。

这是解析字符串的内置 Java 方法。 http://download-llnw.oracle.com/javase/6/docs/api/java/lang/String.html#split(java.lang.String)

这是一种在 Java 中解析字符串的旧方法,但仍然有效。 http://download.oracle.com/javase/6/docs/api/java/util/StringTokenizer.html

使用 StringTokenizer 的实现示例。 http://www.mkyong.com/java/java-stringtokenizer-example/

就像其他评论者所说的,只是尝试试验。当您是初学者时,最好的学习方法是亲自动手。当然,您会犯错误并丢弃代码,但您会在此过程中学到很多东西。

关于java - 从文件中读取行,并处理每一行中的单个单词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3638919/

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