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

Java如何从方法中返回并调用动态一维数组?我的代码哪里出错了?

代码问题分析

你代码的核心问题是返回值类型声明不符合Java强类型语法要求,具体问题如下:

  • 方法返回类型声明错误:你当前方法声明的返回值类型是int(基础整数类型),但方法内实际返回的是ArrayList<Integer>类型的集合对象,二者类型完全不兼容,编译阶段就会直接报错,无法正常执行。
  • 赋值逻辑不兼容:调用侧接收返回值的possiblePrimeNum变量类型肯定不是int类型,方法返回的int值根本无法完成赋值操作。
修复方案

方案1:返回ArrayList<Integer>动态集合(也就是你要的动态数组

修改方法的返回值类型为ArrayList<Integer>:

public static ArrayList<Integer> createArray(int theListSize)
{
    ArrayList<Integer> possiblePrimeNum = new ArrayList<Integer>();
    
    for (int i=0; i<=theListSize; i++)
    {
        possiblePrimeNum.add(i, i+2);
    }
    return possiblePrimeNum;
}

调用侧需要保证接收变量的类型匹配:

ArrayList<Integer> possiblePrimeNum = createArray(theListSize);

方案2:返回原生int类型一维数组

如果你需要返回的是Java原生的int[]数组,修改代码如下:

public static int[] createArray(int theListSize)
{
    int[] possiblePrimeNum = new int[theListSize + 1];
    for (int i = 0; i <= theListSize; i++)
    {
        possiblePrimeNum[i] = i + 2;
    }
    return possiblePrimeNum;
}

调用侧对应声明为数组类型即可:

int[] possiblePrimeNum = createArray(theListSize);

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 01:18:03