Olá meus caros, me desculpem se a pergunta for muito simples, sou bem iniciante.
Procurei outros tópicos e até encontrei algumas coisas semelhantes, mas não era exatamente o que eu queria (ou não entendi mesmo).
Eu gostaria de percorrer uma lista na minha classe principal, mas essa lista está em outra classe. No
entanto, não consigo de jeito nenhum… sabem se é possível e como fazer? Vou colar o código…
A solução foi fazer um método que percorra a lista dentro da classe que contém a lista, mas restou a dúvida se existe como fazer da primeira maneira…
classe principal:
package application;
import java.util.Locale;
import java.util.Scanner;
import entities.Employee;
import entities.OutSourcedEmployee;
public class Program {
public static void main(String[] args) {
Locale.setDefault(Locale.US);
Scanner sc = new Scanner(System.in);
System.out.print("Enter the number of employees: ");
int n = sc.nextInt();
for (int i = 1; i <= n; i++) {
System.out.println("Employee #" + i + " data:");
System.out.print("Outsourced (y/n)? ");
char outSourced = sc.next().charAt(0);
if (outSourced == 'y') {
System.out.print("Name: ");
String name = sc.next();
System.out.print("Hours: ");
Integer hours = sc.nextInt();
System.out.print("Value per hour: ");
Double valuePerHour = sc.nextDouble();
System.out.print("Additional charge: ");
Double additionalCharge = sc.nextDouble();
Employee employee = new OutSourcedEmployee(name, hours, valuePerHour, additionalCharge);
employee.addEmployee(employee);
} else {
System.out.print("Name: ");
String name = sc.next();
System.out.print("Hours: ");
Integer hours = sc.nextInt();
System.out.print("Value per hour: ");
Double valuePerHour = sc.nextDouble();
Employee employee = new Employee(name, hours, valuePerHour);
employee.addEmployee(employee);
}
}
System.out.println("PAYMENTS:");
for (Employee emp : employees) { /* aqui não sei como fazer para acessar a lista que está em outra classe */
}
sc.close();
}
}
classe que contém a lista:
package entities;
import java.util.ArrayList;
import java.util.List;
public class Employee {
private String name;
protected Integer hours;
protected Double valuePerHour;
protected Double payment;
List<Employee> employees = new ArrayList<>();
public Employee() {
}
public Employee(String name, Integer hours, Double valuePerHour) {
this.name = name;
this.hours = hours;
this.valuePerHour = valuePerHour;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public void setHours(Integer hours) {
this.hours = hours;
}
public void setValuePerHour(Double valuePerHour) {
this.valuePerHour = valuePerHour;
}
public Double getPayment() {
return payment = hours * valuePerHour;
}
public void addEmployee(Employee employee) {
employees.add(employee);
}
public String getEmployees() {
}
}