Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 动态初始化数组名_Java - Fatal编程技术网

Java 动态初始化数组名

Java 动态初始化数组名,java,Java,我试图在这个数组中创建一个包含MAX_N 6对象的对象数组,然后在else语句中创建另一个数组以适应其余的数组对象 我想给新数组命名 sbag1 sbag2 etc 这是我的密码: public static ShoppingBag[] packIntoBags(GroceryItem[] goods) { ShoppingBag newBag = new ShoppingBag(); GroceryItem tmpObject = null; int index =

我试图在这个数组中创建一个包含MAX_N 6对象的对象数组,然后在else语句中创建另一个数组以适应其余的数组对象

我想给新数组命名

sbag1
sbag2
etc
这是我的密码:

public static ShoppingBag[] packIntoBags(GroceryItem[] goods) {

    ShoppingBag newBag = new ShoppingBag();
    GroceryItem tmpObject = null;
    int index = 0;
    String bag = "newBag";
    String bagNum = bag + index;

    for (int i = 0; i < MAXNBAG; i++)
        if (newBag.numItems() < MAX_NUM_ITEMS) {    
            for (int k = 0; i < MAX_NUM_ITEMS; i++) {
                tmpObject = goods[i];
                newBag.addToBag(tmpObject);
            }
        }
    else {
        ShoppingBag newBag1 = new ShoppingBag();    
    }
}
public static ShoppingBag[]packIntoBags(杂货店项目[]货物){
ShoppingBag newBag=新ShoppingBag();
GroceryItem tmpObject=null;
int指数=0;
字符串bag=“newBag”;
字符串bagNum=行李+索引;
对于(int i=0;i
Java是一种静态编译语言。一般来说,这是不可能的,或者更准确地说:对变量使用“动态”名称没有帮助


您可以做的是:使用映射,或者更简单的方法:使用数组数组来保存数据。

您将无法在java中动态创建新变量。 当我查看方法的签名时,您不需要返回多个变量,只需要返回一个购物袋数组

您应该创建一个类型为
List
的变量:

最后,将此列表转换为数组:

return shoppingBags.toArray(new ShoppingBag[0]);

你打算如何处理阵列?如果我理解正确,您希望动态命名无法完成的变量。
toArray()
的可能重复项应该是
toArray(new ShoppingBag[0])
您完全正确Lino,我更新了答案。谢谢。
bag=new ShoppingBag();
shoppingBags.add(bag);
return shoppingBags.toArray(new ShoppingBag[0]);