Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/378.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_Arrays - Fatal编程技术网

如何将数组传递给java方法

如何将数组传递给java方法,java,arrays,Java,Arrays,这是我的密码:- int[] numbers = new int[5]; for (int i = 0; i < numbers.length; i++) { System.out.println("Please enter number"); numbers[i] = input.nextInt(); } System.out.println("Please enter your key"); int k =in

这是我的密码:-

int[] numbers = new int[5];

    for (int i = 0; i < numbers.length; i++)
    {
        System.out.println("Please enter number");
        numbers[i] = input.nextInt();

    }
    System.out.println("Please enter your key");
    int k =input.nextInt();
    int Low=numbers[0];
     int H=numbers[4];

      Recursion(k,numbers ,Low , H);

 }
int[]数字=新的int[5];
for(int i=0;i
如何将数组传递给方法? 我在最后一行出错了


我试图使该方法无效,并在该方法内执行所有这些操作,但我遇到了错误?

Java总是将参数按值传递给该方法。对于数组/对象,它也通过值传递,但在本例中,它的值是一个引用

以下是可用于将数组传递给方法并再次返回的代码段

import java.util.HashMap;

import java.util.Scanner;

public class Test {

public static void main(String[] args) {
    int[] numbers = new int[5];
    Scanner input = new Scanner(System.in);

    for (int i = 0; i < numbers.length; i++) {
        System.out.println("Please enter number");
        numbers[i] = input.nextInt();
    }
    System.out.println("Please enter your key");
    int k = input.nextInt();
    int Low = numbers[0];
    int H = numbers[4];

    int[] recursiveResult = recursion(k, numbers, Low, H);

}

private static int[] recursion(int k, int[] numbers, int low, int h) {
    // TODO Auto-generated method stub
    // Some Operation

    return numbers;
}
}
import java.util.HashMap;
导入java.util.Scanner;
公开课考试{
公共静态void main(字符串[]args){
int[]数字=新的int[5];
扫描仪输入=新扫描仪(System.in);
for(int i=0;i
您正在正确传递数组。也许您的方法的签名是错误的。可能重复的“我在最后一行中遇到了错误”不会告诉我们有关错误的任何信息。我们不知道(非常规命名的)
递归
方法的签名是什么,或者错误是什么,或者您试图实现什么。请给我们更多的信息。你有错误吗?不,您遇到了一个特定的错误,其中有一条消息解释了错误的内容和位置。读一下。如果您不理解,请将其与相关代码一起发布。在几行代码中有许多糟糕的编程实践…我尝试了它,但在返回语句中的方法中出现错误不,Java从不使用pass-by-reference。它总是使用传递值,但传递给类类型(包括数组)的值是一个引用。“按值传递引用”和“按引用传递对象”之间有很大区别。请不要将两者混为一谈,这会增加其他人的混淆。@Reem,在
私有静态无效递归(int k,int[]number,int low,int h)中将
void
更改为
int
work@JonSkeet是的,我想说同样的话。Java只按值传递,但在数组和对象的情况下,Java将引用作为对象的值传递。@user3835765:对,所以说-不要说它按引用传递,如果它不按引用传递。现在你的答案只是代码,没有任何解释——它仍然没有真正的帮助。