如何访问数组方法中的参数? Java
How to access parameters in a method for an array? Java
只是想了解这应该如何工作的基础知识。这是我的代码。----------------------------> 这是我的主要 class.
public class Driver
{
public static void main(String[] args)
{
//create new instance of the ArrayLab class with parameter of 10
ArrayLab array = new ArrayLab(10);
//search for 2
array.search(2);
}
}
class ArrayLab 分配了一个名为 search 的方法,参数为 (2)。到目前为止,这就是我所拥有的。
import java.util.Arrays;
public class ArrayLab
{
//array instance variable
int[] array1 = new int[10];
//array constructor
public ArrayLab(int integer)
{
//class parameter = 10
int[] array1 = new int[integer];
}
//method
public void search(int integer)
{
int[] array1= new int[]{integer};
System.out.println(Arrays.toString(array1));
}
}
所以最大的问题是我做对了什么?还是错了?我意识到这可能是非常基本的,只是在努力理解代码内部发生的事情。谢谢:)
我不知道你的 ArrayLab class 的目的是什么,但这里有一些问题
在构造函数中,您正在初始化一个本地 array1
而不是您的实例变量。
search
方法什么都不做,只是再次初始化本地 array1
.
好的,所以发生在您的 class 驱动程序中,您正在创建 class ArrayLab 的对象。您向此 class 发送一个创建局部变量 array1 的构造函数。您的搜索 class 正在初始化另一个本地数组 1 这就是我将为您的 ArrayLab 所做的 class
import java.util.Arrays;
public class ArrayLab
{
int[] array1;
//array constructor
public ArrayLab(int integer)
{
this.array1 = new int[integer];
}
//method
public void search(int integer)
{
System.out.println(array1[integer]);
}
}
你的Driver
class很好。
所以,让我们一次看一行
int[] array1 = new int[10];
好的,您制作了一个大小为 10 的 public int 数组,更准确地说是 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
。
public ArrayLab(int integer)
{
int[] array1 = new int[integer];
}
这称为构造函数。您正在传入 integer
,并创建一个名为 array1
的 new 数组,它是该范围的本地数组,因此与之前的数组不同。这个 array1
包含 integer
-许多零。
要使用和初始化之前的 array1
,请将此处的代码更改为此
int[] array1;
public ArrayLab(int integer)
{
this.array1 = new int[integer];
}
接下来,
public void search(int integer)
{
int[] array1= new int[]{integer};
}
}
这再次创建了一个新数组,但只有一个值。所以说 integer
是 2,然后是 [2]
。
只是想了解这应该如何工作的基础知识。这是我的代码。----------------------------> 这是我的主要 class.
public class Driver
{
public static void main(String[] args)
{
//create new instance of the ArrayLab class with parameter of 10
ArrayLab array = new ArrayLab(10);
//search for 2
array.search(2);
}
}
class ArrayLab 分配了一个名为 search 的方法,参数为 (2)。到目前为止,这就是我所拥有的。
import java.util.Arrays;
public class ArrayLab
{
//array instance variable
int[] array1 = new int[10];
//array constructor
public ArrayLab(int integer)
{
//class parameter = 10
int[] array1 = new int[integer];
}
//method
public void search(int integer)
{
int[] array1= new int[]{integer};
System.out.println(Arrays.toString(array1));
}
}
所以最大的问题是我做对了什么?还是错了?我意识到这可能是非常基本的,只是在努力理解代码内部发生的事情。谢谢:)
我不知道你的 ArrayLab class 的目的是什么,但这里有一些问题
在构造函数中,您正在初始化一个本地
array1
而不是您的实例变量。search
方法什么都不做,只是再次初始化本地array1
.
好的,所以发生在您的 class 驱动程序中,您正在创建 class ArrayLab 的对象。您向此 class 发送一个创建局部变量 array1 的构造函数。您的搜索 class 正在初始化另一个本地数组 1 这就是我将为您的 ArrayLab 所做的 class
import java.util.Arrays;
public class ArrayLab
{
int[] array1;
//array constructor
public ArrayLab(int integer)
{
this.array1 = new int[integer];
}
//method
public void search(int integer)
{
System.out.println(array1[integer]);
}
}
你的Driver
class很好。
所以,让我们一次看一行
int[] array1 = new int[10];
好的,您制作了一个大小为 10 的 public int 数组,更准确地说是 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
。
public ArrayLab(int integer)
{
int[] array1 = new int[integer];
}
这称为构造函数。您正在传入 integer
,并创建一个名为 array1
的 new 数组,它是该范围的本地数组,因此与之前的数组不同。这个 array1
包含 integer
-许多零。
要使用和初始化之前的 array1
,请将此处的代码更改为此
int[] array1;
public ArrayLab(int integer)
{
this.array1 = new int[integer];
}
接下来,
public void search(int integer)
{
int[] array1= new int[]{integer};
}
}
这再次创建了一个新数组,但只有一个值。所以说 integer
是 2,然后是 [2]
。