所以我打算给一个arraylist(PolyArr)添加5个随机数。我只是Java的初学者,不熟悉语法。你能告诉我如何正确格式化我的最后一行吗?
'package ga1;
import java.util.*;
import java.lang.Math;
public class GA1 {
static int k=5;
public static void main(String[] args) {
double a;
List<Double[]> PolyArr= new ArrayList<>(k);//Creating the arraylist
for (int i=0; i<k; i++){
a = Math.random() * 50;
//PolyArr.add(new Double() {a});
}
}
}'
答案 0 :(得分:0)
您是否正在尝试使用5随机创建大小为5的数组?用这个:
List<Double> polyArr= new ArrayList<>(k);//Creating the arraylist
for (int i=0; i<k; i++){
double a = Math.random() * 50; // random
polyArr.add(a);
}
注意:不要在java中使用大写的属性,仅用于类名和静态字段
通过做一个新的Double [] {a},你创建了一个大小为1的doulbes数组,里面随机有1个
答案 1 :(得分:0)
您需要先创建数组并添加到该数组,然后才能添加列表中的数组。但你真的需要阵列吗?你不能直接将双重添加到列表中吗?
import java.util.*;
import java.lang.Math;
public class GA1 {
static int k=5;
public static void main(String[] args) {
double a;
List<Double[]> PolyArr= new ArrayList<>(k);//Creating the arraylist
Double[] randNums = new Double[k]; //create the double array first based on k
for (int i=0; i<k; i++){
randNums[i] = Math.random() * 50; // add to array
}
PolyArr.add(randNums); // then add to the list
}
}
答案 2 :(得分:0)
PolyArr.add(new Double() {a});
问题是你无法从最终类创建子类。这就是你在上面尝试做的事情。如果您在IDE中尝试过此操作,您可能会注意到:
An anonymous class cannot subclass the final class Double
我不知道这个目的是什么..可能是你正在解决的问题。无论如何,你了解发生的事情是件好事,你也可以这样做:
double a[] = new double[k];
List<Double> PolyArr= new ArrayList<>(k);//Creating the arraylist
for (int i=0; i<k; i++){
a[i] = Math.random() * 50;
PolyArr.add(new Double(a[i]));
}
for(double i : PolyArr){
System.out.println(i);
}
你也可以尝试这样:
double a;
List<Double[]> PolyArr= new ArrayList<>(k);//Creating the arraylist
for (int i=0; i<k; i++){
a = Math.random() * 50;
Double he[] = {a};
PolyArr.add(he);
}
for(Double[] i : PolyArr){
for(Double y : i)
System.out.println(y);
}
这可能不是您正在寻找的。但是,请尝试每一个答案。
请阅读以下内容:final class,List,ArrayList Of Arrays