Java中的数组数组
所以我想开始说我是Java编程新手。这是我的问题。我想创建一个程序,它本质上是在数组中循环。数组的长度必须可变 我的第一步是从一系列分数开始。每个阵列都连接到特定的用户。这些阵列的长度因用户而异 我的第二步是将这些用户数组分组到一个更大的数组中,各个参数是步骤1中的用户数组。此数组的长度应可变,具体取决于用户数 我的最后一步是通过一系列数学运算运行这个较大的数组。我不知道如何创建计算。这是进行计算的主要方法Java中的数组数组,java,arrays,list,Java,Arrays,List,所以我想开始说我是Java编程新手。这是我的问题。我想创建一个程序,它本质上是在数组中循环。数组的长度必须可变 我的第一步是从一系列分数开始。每个阵列都连接到特定的用户。这些阵列的长度因用户而异 我的第二步是将这些用户数组分组到一个更大的数组中,各个参数是步骤1中的用户数组。此数组的长度应可变,具体取决于用户数 我的最后一步是通过一系列数学运算运行这个较大的数组。我不知道如何创建计算。这是进行计算的主要方法 import java.lang.Math; public class Advisor
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);
}
}
}
import java.lang.Math;
公开课导师分数{
公共静态void main(字符串[]args)
{
双重审查_sum[]={5,5,5,5,5,5,5,5};
//每次用户回答问题时,都会对其进行评分。这是保存这些评分的数组。
//给定的用户将有十个advisor分数,每个类别一个。
双和=0;
{
对于(int x=0;x如果我正确地阅读了您的问题,您可能希望将用户名映射到分数列表。您可以执行类似的操作(此示例是人为设计的,因此值是硬编码的):
Map userScores=newlinkedhashmap();
字符串user1=“Bob”;
列表分数1=新的ArrayList();
分数1.增加(5);
分数1.增加(10);
分数1.增加(15);
userScores.put(user1,scores1);
...
...
字符串user4=“Rob”;
列表分数4=新的ArrayList();
分数4.增加(2);
分数4.增加(3);
分数4.增加(4);
userScores.put(user4,scores4);
然后,您可以像这样在地图上迭代,访问用户及其分数:
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) {
...
}
}
for(Map.Entry:userScores.entrySet()){
字符串user=entry.getKey();
列表分数=entry.getValue();
//在分数列表上迭代
对于(整数分数:分数){
...
}
}
要回答有关数组数组的一般问题,可以使用如下列表:
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);
...
列表公共类数组2{
公共静态void main(字符串[]args){
double[]myList={1.9,2.9,3.4,3.5};
//打印所有数组元素
for(int i=0;imax)max=myList[i];
}
System.out.println(“最大值为”+Max);
}
}
List<Integer> list1 = new ArrayList<Integer>();
list1.add(1);
list1.add(2);
list1.add(3);
listOfLists.add(list1);
...
public class Array2 {
public static void main(String[] args) {
double[] myList = {1.9, 2.9, 3.4, 3.5};
// Print all the array elements
for (int i = 0; i < myList.length; i++) {
System.out.println(myList[i] + " ");
}
// Summing all elements
double total = 0;
for (int i = 0; i < myList.length; i++) {
total += myList[i];
}
System.out.println("Total is " + total);
// Finding the largest element
double max = myList[0];
for (int i = 1; i < myList.length; i++) {
if (myList[i] > max) max = myList[i];
}
System.out.println("Max is " + max);
}
}