如何解决使用ArrayList中的内容填充2d数组
我有一个格式如下的文件:
Name|Test1|Test2|Test3|Test4|Test5|Test6|Test7|Test8|Test9|Test10
John Smith|82|89|90|78|89|96|75|88|90|96
Jane Doe|90|92|93|90|89|84|97|91|87|91
Joseph Cruz|68|74|78|81|79|86|80|81|82|87
Suzanne Nguyen|79|83|85|89|81|79|86|92|87|88
Richard Perez|100|84|73|81|92|84|95|96|95|100
Ivan Dyer|77|91|90|75|97|94|76|89|90|92
Craig Palmer|91|84|98|89|82|75|78|96|100|97
Madeline Rogers|75|79|78|93|91|76|80|88|100|81
Chelsea Roxas|87|94|89|96|95|85|88|92|86|86
Jasper Bautista|100|83|93|100|98|97|96|97|97|98
我创建了一个ArrayList,该数组从左至右填充了上表中的整数。我确认所有数字都在ArrayList中。我试图完成的工作是获取列的平均值,因此我认为使用2d数组是可行的,但是我很难确定正确的for循环语法以正确填充数组。
如果除了我之外还有其他解决方案或想帮助我,我将不胜感激!
编辑:我已经尝试了以下方法:
int len = tests.length;
for(int i = 0; i < len; i++){
for(int j = 0; j < len; j++)
{tests[i][0] = (Double) testScores.get(i);
tests[0][j] = (Double) testScores.get(j);
}
}
输出如下:
[[82.0,89.0,90.0,78.0,96.0,75.0,88.0,96.0],[89.0,0.0,0.0],[90.0,[78.0,[96.0,[75.0,[88.0,0.0]]
解决方法
for(int i = 0; i <10 ; i++){
for(int j = 0; j <10 ; j++){
{tests[i][j] = (Double) testScores.get(i*10 +j);
}
}
这将起作用
如果要计算第i列的平均值:
double mean(column_index) {
double mean = 0;
for(int i = 0; i <10 ; i++){
mean = mean + tests[i][column_index];}
return (mean/10) ;}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。