gpt4 book ai didi

java - 计算列数据

转载 作者:行者123 更新时间:2023-12-01 10:01:07 24 4
gpt4 key购买 nike

我正在尝试创建一个 void 方法,该方法将读取 csv 文件并计算状态的信誉数,例如 TX 次数、Oh 次数和 Dc 次数。输出应该是-TX=4;哦=2;DC=2。但我的输出是“对于输入字符串:“F”” - 我真的不知道问题出在哪里。有人可以帮助我吗?

“Crimerate.csv”

州县费率

德克萨斯州,达拉斯,39

德克萨斯州,阿德森,10

哦,阿彻,20

直流,直流,50

德克萨斯州,休斯顿,31

TX,克劳德,13

哦,贝克萨,10直流,SE,40

public static void countnumber()

{

try{

List<String>number=Files.readAllLines(Paths.get("Crimerate.csv"));


double sum=0,num=0;

for (String line:number){

if(num==0){

++num;

continue;

}

line=line.replace("\"","");

String []result=line.split(",");



double close = Double.parseDouble(result[6]);

String numberAsString = Double.toString(close);



if(numberAsString.equals("Tx"))
{
sum++;
System.out.println("number of Tx =" + sum);
}
else if(numberAsString.equals("Oh"))
{
sum++;
System.out.println("number of Oh =" + sum);
}
else if(numberAsString.equals("Dc"))
{
sum++;
System.out.println("number of Dc =" + sum);
}
}

}catch(Exception e){
System.out.println(e.getMessage());

}
}


public static void main (String args[])

{

countnumber();

}

最佳答案

虽然之前建议的答案将解决为什么只有一个响应(只有一个 sum 变量的结果)的具体问题,但它们有两个问题。

  • 它们没有考虑到以下事实:在示例数据中,德克萨斯州同时显示为“Tx”和“TX”。因此,当前的其他答案不会给出德克萨斯州 4 的正确结果(它们只会显示 2)。
  • 这些方法假设显示了完整的数据集。如果存在其他状态,则需要不断扩展代码以支持新状态。

此解决方案可以处理这两种情况。

public static void main(String[] args)
{
Map<String, Integer> countByState = new HashMap<>();
List<String> number;
try {
number = Files.readAllLines(Paths.get("f:/tmp/Crimerate.csv"));

int cntr = 0;
for (String line : number) {
// skip first line
if (cntr++ == 0) {
continue;
}
String []result=line.split(",");

// should add error checking
String state = result[0].toUpperCase();

Integer cnt = countByState.get(state);
if (cnt == null) {
cnt = new Integer(0);
}
countByState.put(state, ++cnt);

}

System.out.println(countByState);
}
catch (IOException e) {
e.printStackTrace();
}
}

基于问题中提供的数据的示例结果(该数据中只有一个 DC):

{TX=4, OH=2, DC=1}

关于java - 计算列数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36800045/

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