Java 将数组传递给另一个方法并复制它

Java 将数组传递给另一个方法并复制它,java,arrays,methods,Java,Arrays,Methods,我试图将一个数组从一个方法传递到另一个方法,然后将该数组的内容复制到一个新数组中。我在语法方面遇到了问题,无法完成这项任务。 有没有人能给我提供一些关于这个话题的参考资料,或者我可以申请的有用的建议 如果这是一个noob问题,我很抱歉,但我只是在业余时间玩了3-4周的Java 我知道Java使用pass-by-value,但我弄不清楚的是……我应该在将sourceArray复制到targetArray之前调用它吗 我的目标不是仅仅得到一个答案,我需要理解为什么 提前谢谢你 package cit

我试图将一个数组从一个方法传递到另一个方法,然后将该数组的内容复制到一个新数组中。我在语法方面遇到了问题,无法完成这项任务。 有没有人能给我提供一些关于这个话题的参考资料,或者我可以申请的有用的建议

如果这是一个noob问题,我很抱歉,但我只是在业余时间玩了3-4周的Java

我知道Java使用pass-by-value,但我弄不清楚的是……我应该在将sourceArray复制到targetArray之前调用它吗

我的目标不是仅仅得到一个答案,我需要理解为什么

提前谢谢你

package cit130mhmw08_laginess;

import java.util.Scanner;

public class CIT130MHMW08_Laginess 
{

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

    System.out.println("Please enter the total number of dealers: ");
    int numDealers = input.nextInt();
    numDealers = numberOfDealers(numDealers);

    System.out.printf("%nPlease enter the required data for each of your dealers:");
    dataCalculation(numDealers);

}//main

//METHOD 1
public static int numberOfDealers(int dealers)
{
    int results;

    Scanner input = new Scanner(System.in);

    while(dealers < 0 || dealers > 30)
    {
        System.out.printf("%nEnter a valid number of dealers: ");
        dealers = input.nextInt();  
    }
    results = dealers;
    return results;

}//number of dealers methods

//METHOD 2
public static void dataCalculation(int data)
{
    String[] dealerNames = new String[data];

    Scanner input = new Scanner(System.in);

    System.out.printf("%nEnter the names of the dealers:%n ");

        for(int i = 0; i < data; i++)
        {
            String names =input.nextLine();
            dealerNames[i]= names;
        }

    int[] dealerSales = new int[data];
    System.out.printf("%nEnter their sales totals: %n");

        for(int i = 0; i < data; i++)
        {
            int sales = input.nextInt();
            dealerSales[i] = sales;
        }


    for(int i = 0; i < data; i++)
    {
        System.out.println(" " + dealerNames[i]);
        System.out.println(" " + dealerSales[i]);
    }
    //gather the required input data. 
    //Perform the appropriate data validation here.

}//data calculations

//METHOD 3
public static int commission(int data)
{
    //Create array
    int[] commissionRate = new int[dealerSales]; 

    //Copy dealerSales array into commissionRate
    System.arraycopy(dealerSales, 0, commissionRate, 0, dealerSales.length);

    //calculate the commission array.
    //$1 - $5,000...8%
    //$5,001 to $15,000...15%
    //$15,001...20%

    //

}//commission method 
}//class
package cit130mhmw08\u滞后;
导入java.util.Scanner;
公共级城市130MHMW08
{
公共静态void main(字符串[]args)
{
扫描仪输入=新扫描仪(System.in);
System.out.println(“请输入经销商总数:”);
int numDealers=input.nextInt();
numDealers=经销商数量(numDealers);
System.out.printf(“%n请输入每个经销商所需的数据:”);
数据计算(numDealers);
}//主要
//方法1
公共静态整数经销商(整数经销商)
{
int结果;
扫描仪输入=新扫描仪(System.in);
而(经销商<0 | |经销商>30)
{
System.out.printf(“%n输入有效的经销商数量:”);
经销商=输入.nextInt();
}
结果=经销商;
返回结果;
}//经销商数量方法
//方法2
公共静态无效数据计算(整型数据)
{
String[]DealNames=新字符串[数据];
扫描仪输入=新扫描仪(System.in);
System.out.printf(“%n输入经销商名称:%n”);
对于(int i=0;i
如果要复制数组,可以使用该方法。它有两个参数,第一个是要从中复制数据的数组,第二个是新数组的长度,然后导入java.util.array


-有关更多信息,请参见链接

您的程序给了我一个编译错误。无法解析佣金()中的经销商销售。这是因为dealerSales在整个类中都是不可访问的,因为它是dataCalculation()方法的变量,而不是类的变量。建议将dealerSales声明为类的私有成员。