![](/img/trans.png)
[英]how to access two different java entities as parameters in backing bean method
[英]How to access parameters in a method for an array? Java
只是试图了解其工作原理。 这是我的代码。--------------------------->这是我的主要课程。
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);
}
}
ArrayLab类具有分配给它的方法,该方法称为搜索,其参数为(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));
}
}
所以最大的问题是我在做什么对吗? 还是错? 我意识到这可能很基本,只是努力了解代码内部正在发生的事情。 谢谢 :)
您的Driver
类很好。
所以,让我们一次走一条线
int[] array1 = new int[10];
好的,您创建了一个公共int数组,大小为10,更确切地说[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
。
public ArrayLab(int integer)
{
int[] array1 = new int[integer];
}
这称为构造函数。 您要传入integer
,并创建一个名为array1
的新数组,该数组在此作用域内是本地的,因此与以前的数组不同。 该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]
。
我不知道ArrayLab类的目的是什么,但是这里有一些问题
在构造函数中,您正在初始化本地array1
而不是实例变量。
search
方法除了重新初始化本地array1
什么都不做。
好了,那么在您的类驱动程序中发生了什么,您在创建类ArrayLab的对象。 您向此类发送构造函数,该构造函数创建局部变量array1。 您的搜索类将初始化另一个本地array1,这就是我为您的ArrayLab类所做的
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]);
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.