У меня возникли проблемы с передачей элементов в массиве, который содержит имена и числа в другом классе, где будут выполняться вычисления. Это то, что у меня есть для классов.Передача элементов массива между различными классами в Java
public class Employee {
private int sales;
private String name;
public Employee(String name, int sales){
this.name = name;
this.sales = sales;
}
public String getName(){
return this.name;
}
public int getSales(){
return this.sales;
}
}
Этот класс предназначен для хранения имени и продаж для массива. Вот массив в отдельном классе.
import java.util.Scanner;
public class EmployeeArray {
public static int employee() {
Scanner input = new Scanner(System.in);
int numEmp;
System.out.println("Enter how may employees to be compared: ");
numEmp = input.nextInt();
input.nextLine();
Employee[] employees = new Employee[numEmp];
for (int i = 0; i < numEmp; i++) {
System.out.print("Enter your name: ");
String employeeName = input.nextLine();
System.out.println();
System.out.print("Enter your annual sales: ");
int employeeSales = input.nextInt();
input.nextLine();
System.out.println();
Employee employee = new Employee(employeeName, employeeSales);
employees[i] = employee;
}
Employee maxSeller = employees[0];
for (int i = 0; i < employees.length; i++) {
System.out.println("Employee Name: " + employees[i].getName());
System.out.println("Total sales: $" + employees[i].getSales());
System.out.println();
if (maxSeller.getSales() < employees[i].getSales()) {
maxSeller = employees[i];
}
}
System.out.println();
System.out.println("Top Seller is: " + maxSeller.getName());
System.out.println("Top Sales are: $" + maxSeller.getSales());
return maxSeller.getSales();
}
}
Массив хранит значения и возвращает топ-продавца с именем maxSeller и получает для них имя и объем продаж. Теперь проблема, с которой я сталкиваюсь, заключается в том, что в отдельном классе мне нужно получить значения, хранящиеся в этом массиве, для выполнения некоторых вычислений. Я должен получить продажи maxSeller и сравнить их с продажами других продавцов в массиве. Форма там Я пытаюсь показать, насколько больше продаж другим нужно достичь равного или превосходить топ-продавца. Это проблема, с которой я сталкиваюсь. Я не знаю, как передать значения из этого массива в следующий класс, чтобы я мог выполнять вычисления. Есть предположения?
, что это отдельный класс? Вы должны передать массив сотрудников в качестве параметра методу в любом другом классе, который вы создаете. Оттуда вы можете получить доступ к продажам или имени с помощью геттеров. – sunrize920
. Вопросы, подобные этому, часто указывают на то, что непротиворечивое решение с точки зрения процедур не может быть легко адаптировано к объектно-ориентированной парадигме. Если бы вы перестали писать решение, как, например, вы писали программу BASIC, и начали думать об объектах, участвующих в вашей модели, и о поведении, которое вы хотели реализовать для этих объектов, такие проблемы, как «как передать массивы между процедурами», становятся а тем более проблема. – scottb
Отдельный класс, где я использую продажи топ-продавца и применяю комиссию, чтобы найти общую компенсацию за этот год, затем сравните ее с общей компенсацией продавцов и скажите им, сколько еще им нужно продать, чтобы соответствовать верхней продавец возмещение. –