Я пытаюсь передать массив из одного метода в другой метод, а затем скопировать содержимое этого массива в новый массив. У меня возникают проблемы с синтаксисом для выполнения этой задачи. Есть ли у кого-нибудь справочные материалы, которые я мог бы прочитать об этой теме, или, может быть, полезный совет, который я мог бы применить?Передача массива другому методу и его копирование
Прошу прощения, если это вопрос о нобе, но я только возился с Java в течение 3-4 недель в течение неполного рабочего дня.
Я знаю, что Java использует пропуск по значению, но то, что я теряю, должно ... Я должен вызвать 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
Ваша программа дала мне ошибку компиляции. Дилеры Продавцы в комиссии() не могут быть разрешены. Это связано с тем, что дилерские салоны недоступны во всем классе, поскольку это переменная метода dataCalculation(), а не класса. Предложение было бы объявить dealerSales как частный член класса. – HARDI