gpt4 book ai didi

java - Java 中的数组数组

转载 作者:行者123 更新时间:2023-12-02 08:29:53 25 4
gpt4 key购买 nike

所以我想说我是 Java 编程新手。这是我的问题。我想创建一个程序,本质上是循环遍历数组的数组。数组的长度必须是可变的。

我的第一步是从一系列分数开始。每个阵列都连接到特定的用户。这些数组的长度根据用户的不同而不同。

我的第二步是将这些用户数组分组为一个更大的数组,其中各个参数是步骤 1 中的用户数组。该数组的长度应该是可变的,具体取决于用户的数量。

我的最后一步是通过一系列数学运算来运行这个更大的数组。我知道如何创建计算。这是进行计算的主要方法

import java.lang.Math;

public class Advisor_Score {
public static void main(String[] args)
{


double review_sum[]={5,5,5,5,5,5,5,5,5,5};
//Every time a user answers a question, they will be rated. This is the array holds these ratings.
//A given user will have ten advisor scores, one for each category.
double sum = 0;
{

for(int x=0;x<review_sum.length;x++)
//All scores less than 0 or more than 5 are thrown out
{
if (review_sum[x]<0 || review_sum[x]>5)
{
sum+=0;
}
else
sum+=review_sum[x];
}
double raw_advisor=(sum-(3*review_sum.length))/4;
System.out.println(raw_advisor);
double advisor_score_scaled= 2.5*(1-Math.pow(Math.E, -.5*raw_advisor));
double advisor_score = 2.5 + advisor_score_scaled;
System.out.println(advisor_score);
}
}
}

最终我想循环遍历更大的数组,通过这组计算运行更大数组中的每个参数。我并不热衷于数组,因为有人告诉我列表可能会更好。我只是没有受过教育如何使用列表。提前致谢!

最佳答案

如果我没理解你的问题,看起来你想将用户名映射到分数列表。您可以执行以下操作(此示例是人为的,因此值是硬编码的):

Map<String, List<Integer>> userScores = new LinkedHashMap<String, List<Integer>>();

String user1 = "Bob";
List scores1 = new ArrayList<Integer>();
scores1.add(5);
scores1.add(10);
scores1.add(15);

userScores.put(user1, scores1);

...
...

String user4 = "Rob";
List scores4 = new ArrayList<Integer>();
scores4.add(2);
scores4.add(3);
scores4.add(4);

userScores.put(user4, scores4);

然后您可以像这样迭代 map 并访问用户及其分数:

for(Map.Entry<String, List<Integer>> entry : userScores.entrySet()) {
String user = entry.getKey();
List<Integer> scores = entry.getValue();

//to iterate over the list of scores
for(int score : scores) {
...
}
}

要回答有关数组数组的一般问题,您可以使用如下所示的列表列表:

List<List<Integer> listOfLists = new ArrayList<List<Integer>>();

因此,您需要创建列表并将它们添加到列表列表中,如下所示:

List<Integer> list1 = new ArrayList<Integer>();
list1.add(1);
list1.add(2);
list1.add(3);

listOfLists.add(list1);

...

关于java - Java 中的数组数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3687371/

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