【发布时间】:2015-11-20 21:54:30
【问题描述】:
我的代码通过输入文件并将其分成“列”。
System.out.println(numberdouble);
它打印出该列中每一行的值。我对此进行了测试以检查我的程序是否会正确地遍历列。我想知道如何输出每列的总和。
例子:
[a, 1, 2, 3]
[3, v, 3, x]
[5, 1, d, c]
如果我对第 0 列的值求和,我希望它把 3 和 5 加在一起。如果列中的值不是数字,则应将该值转换为 0。
我的代码:
public static Double column_sum(String filename, int column)
{
if(column < 0)
{
return null;
}
File temp = new File(filename);
Scanner input_file;
try
{
input_file = new Scanner(temp);
}
catch (Exception e)
{
return null;
}
ArrayList<ArrayList<String>> result = new ArrayList<ArrayList<String>>();
while(input_file.hasNextLine())
{
String line = input_file.nextLine();
List<String> myList = new ArrayList<String>(Arrays.asList(line.split(",")));
Double numberdouble =0.0;
String numberstring = myList.get(column);
if(isDouble(numberstring))
{
numberdouble = Double.parseDouble(numberstring);
}
else
{
numberdouble=0.0;
}
System.out.println(numberdouble);
}
return 1.23; //placeholder
}
【问题讨论】:
-
您的示例中的预期输出是什么,而
column分别为 0、1、2 和 3? -
列:答案 0:8 1:2 2:5 3:3
-
知道了,请看我的回答:-)