gpt4 book ai didi

java - 如何将数组列表传递到 Java 方法并重用?

转载 作者:行者123 更新时间:2023-12-02 01:08:24 26 4
gpt4 key购买 nike

我正在编写一个程序来删除和添加数组列表中的数字(名称为arr,有5个空格)方法“delete”(在索引 0 处删除 10 并在索引 4 处放入 0)已创建,arr 中的数字通过参数传递。但有错误。

1/我可以知道如何修复它吗?我应该学习哪些概念?

1.1/“ArrayList a = new ArrayList();”java: 变量 a 已在方法 delete(int[]) 中定义

1.2/System.out.println(a[0]+""+a[1]+""+a[2]+""+a[3]+""+a[4]);java:需要数组,但找到了 java.util.ArrayList

2/数组中改变的数字可以在另一种方法“add”中使用吗?如果不是,我应该如何更改代码?

非常感谢!

import java.util.ArrayList;
import java.util.Scanner;

public class Queue {
// Variable
private static int[] arr = {10, 20, 30, 0, 0};
// Method 1 - delete
private void delete(int a[]){
System.out.println("[1] Delete");
ArrayList<Integer> a = new ArrayList<Integer>();
a.remove(0);
a.add(4,0);
System.out.println(a[0]+" "+a[1]+" "+a[2]+" "+a[3]+" "+a[4]);
}

// Method 2- add
public void add(int a[]){
System.out.println("[2] Add");
}
public static void main(String[] args) {
int command;
do{
System.out.println("Menu");
System.out.println(arr[0]+" "+arr[1]+" "+arr[2]+" "+arr[3]+" "+arr[4]);
System.out.println("[1] Delete");
System.out.println("[2] Add");
System.out.println("[3] Exit");
System.out.print("Please give a number: ");
Scanner scanIn = new Scanner(System.in);
command = scanIn.nextInt();
Queue s = new Queue();
switch (command){
case 1: s.delete(arr); break;
case 2: s.add(arr); break;
}
}while(command !=3);

}

}

最佳答案

传递到删除方法的变量已命名为“a”。同一范围内不能有两个 a。

还有其他问题。但一般来说 ArrayList 是一个 List,它是一个对象。相比之下,数组是使用方尖括号寻址的特殊对象,例如 a[4]=8。小写数组对象更像是一个原语,而不是真正的 java 对象,更像是一个可直接寻址的内存块。相比之下,ArrayList 是使用方法操作的实际 Java 对象。这里重要的是它们都是数据结构,并且以不同的方式寻址和操作。

查看此答案 Define a fixed-size list in Java它可能会为您阐明一些事情。

关于java - 如何将数组列表传递到 Java 方法并重用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59735928/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com