[英]How to create a method with 2 arrays as parameters?
如何将 2 个预定义数组作为参数传递给方法,这是我尝试过的代码:
public class MergeArrays {
public int array1[] = new int[5];
public int array2[] = new int[5];
private int[] mergeArray(array1,array2){
}
}
要回答您的特定问题“如何将2个预定义数组作为参数传递给方法”,您需要在方法中指定参数的类型:
private int[] mergeArray(int[] array1, int[] array2)
然后,您可以使用以下命令调用它:
mergeArray(array1, array2);
一个更大的例子:
public class MergeArrays {
public int array1[] = new int[5];
public int array2[] = new int[5];
private int[] mergeArray(int[] array1, int[] array2) {
// TODO
}
public static void main(String... args) {
MergeArrays merger = new MergeArrays();
merger.array1[0] = 18;
merger.array1[1] = 28;
merger.array2[0] = 991;
// etc.
int[] mergedArray = merger.mergeArray(array1, array2);
// TODO
}
}
值得一提的是,这不是很棒的代码。
方法中的参数名称与实例变量的名称冲突(并隐藏)。 这可能会造成混淆,如果您要从方法中访问实例变量,则必须为此添加前缀this.
通常,在面向对象的程序中,您希望隐藏内部数据表示形式(例如数组),而不是将其公开。 例如,也许以后您将要改用ArrayList
。 如果将字段公开,则其他类可能会引用它们,因此更改将在代码库中引起连锁反应。
您的mergeArray
方法最好命名为merge
或mergeArrays
(复数),并且应该是static
除非它依赖于类的内部状态。
回答:
句法 :
modifier return-type nameOfMethod (type_of_array
array_name[],type_of_array array_name[])
{
// method body
}
例:
public void TakeArray(int[] a, int[] b) {
}
句法:
nameOfMethod (name_of_Predefined_array);
例:
int array1[] = { 1, 2, 1, 1, 1, 1, 2 };
int array2[] = { 1, 2, 1, 1, 1, 1, 2 };
TakeArray(array1, array2);
工作代码示例:
public class Consecutive {
public static void TakeArray(int[] a, int[] b) { // define a function to
// take 2 array as input
System.out.println("Array 1 :");
for (int i : a)
// printing value of array 1
System.out.println(i);
System.out.println("Array 2 :");
for (int i : b)
// printing value of array 1
System.out.println(i);
}
public static void main(String[] args) {
int array1[] = { 1, 2, 1, 1, 1, 1, 2 }; // creating an array
int array2[] = { 1, 2, 1, 1, 1, 1, 2 };// creating another array
TakeArray(array1, array2); // passing both array to function as
// arguments
}
}
检查代码中注释中的解释。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.