You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何正确调用RandomListGenerator类获取其生成的ArrayList<Integer>集合

Java随机列表生成工具调用问题解决方案

核心错误原因

  • 大小写拼写错误:Java语言大小写敏感,你定义的公共类名为RandomListGenerator,调用时写的randomListGenerator属于拼写错误,正常编译阶段会抛出类找不到的异常。
  • 调用逻辑错误:你没有调用生成随机列表的genRandArrOfInts方法,直接打印RandomListGenerator实例对象,Java会默认调用Object类的toString方法,输出的就是对象的内存地址。

调整方案

1. 工具类优化(可选,符合公共工具类开发规范)

因为所有方法都是静态方法,工具类无需实例化,建议私有化构造方法避免被误实例化,修改后代码如下:

import java.util.*;

public class RandomListGenerator {
    // 私有化构造方法,禁止外部实例化
    private RandomListGenerator(){}

    public static void main(String[] args){
        // 接收用户输入的整数
        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);
        Random r = new Random();
        // 生成范围在-10到10的随机整数
        for (int i = 0; i < n; i++) {
            list.add(r.nextInt(21) - 10);
        }
        return list;
    }
}

2. 调用类正确写法

genRandArrOfInts是静态方法,直接通过类名调用即可,不需要实例化工具类,传入你要生成的列表长度参数就能得到对应的ArrayList<Integer>集合,修改后Lab2Array代码如下:

import java.util.List;

public class Lab2Array {
    public static void main(String[] args){
        // 传入要生成的列表长度,比如10,直接拿到结果集合
        List<Integer> list = RandomListGenerator.genRandArrOfInts(10);
        System.out.println("Generated this list of random integers: "+list);
    }
}

运行效果示例

Generated this list of random integers: [2, -5, 9, 0, -3, 7, 1, -10, 4, 8]

内容的提问来源于stack exchange,提问作者Mampenda

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 09:18:03