如何转换从另一个 class 生成的列表
How to convert an list generated from another class
我制作了这个 class 生成一个 ArrayList()
随机整数:
import java.util.*;
public class RandomListGenerator {
public static void main(String[] args){
// Ask for an integer as user input.
Scanner input = new Scanner(System.in);
System.out.println("Please enter an integer between 1 and 10: ");
int inp = input.nextInt();
List<Integer> arr = genRandArrOfInts(inp);
System.out.println("Generated a list of random integers: "+arr);
}
public static List<Integer> genRandArrOfInts(int n) {
ArrayList<Integer> list = new ArrayList<>(n); // Create new ArrayList() of length n
Random r = new Random();
for (int i = 0; i < n; i++) {
list.add(r.nextInt(10 + 10) - 10); // We get random ints in range max = 10 and min = -10
}
return list;
}
}
当我 运行 这个 class 本身时,它工作正常,我得到这个输出:
Please enter an integer between 1 and 10:
10
Generated a list of random integers: [0, -1, -3, -8, -9, 1, 3, 0, 8, -1]
但是当我尝试在另一个 class 中使用它并像这样打印时:
public class Lab2Array {
public static void main(String[] args){
randomListGenerator list = new randomListGenerator();
System.out.println("Generated this list of random integers: "+list);
}
}
我得到的输出是:
Generated this list of random integers: randomListGenerator@15aeb7ab
如何转换它才能得到 ArrayList<Integer>
?我还需要在其他 classes 中使用生成器,所以我想把它变成自己的 class 而不是在 lab2Array
-class
中
调用实际 returns 您想要的整数列表的方法。
此外,无需实例化对象。你的方法是static
,所以不用对象也可以调用。
public class Lab2Array {
public static void main(String[] args){
System.out.println("Generated this list of random integers: "+ RandomListGenerator.genRandArrOfInts(10));
}
}
我制作了这个 class 生成一个 ArrayList()
随机整数:
import java.util.*;
public class RandomListGenerator {
public static void main(String[] args){
// Ask for an integer as user input.
Scanner input = new Scanner(System.in);
System.out.println("Please enter an integer between 1 and 10: ");
int inp = input.nextInt();
List<Integer> arr = genRandArrOfInts(inp);
System.out.println("Generated a list of random integers: "+arr);
}
public static List<Integer> genRandArrOfInts(int n) {
ArrayList<Integer> list = new ArrayList<>(n); // Create new ArrayList() of length n
Random r = new Random();
for (int i = 0; i < n; i++) {
list.add(r.nextInt(10 + 10) - 10); // We get random ints in range max = 10 and min = -10
}
return list;
}
}
当我 运行 这个 class 本身时,它工作正常,我得到这个输出:
Please enter an integer between 1 and 10:
10
Generated a list of random integers: [0, -1, -3, -8, -9, 1, 3, 0, 8, -1]
但是当我尝试在另一个 class 中使用它并像这样打印时:
public class Lab2Array {
public static void main(String[] args){
randomListGenerator list = new randomListGenerator();
System.out.println("Generated this list of random integers: "+list);
}
}
我得到的输出是:
Generated this list of random integers: randomListGenerator@15aeb7ab
如何转换它才能得到 ArrayList<Integer>
?我还需要在其他 classes 中使用生成器,所以我想把它变成自己的 class 而不是在 lab2Array
-class
调用实际 returns 您想要的整数列表的方法。
此外,无需实例化对象。你的方法是static
,所以不用对象也可以调用。
public class Lab2Array {
public static void main(String[] args){
System.out.println("Generated this list of random integers: "+ RandomListGenerator.genRandArrOfInts(10));
}
}