2017-10-05 7 views
0

Je suis encore assez nouveau avec Java alors n'hésitez pas si vous pensez que je suis sauvagement ici ...Comment créer un objet dans Java avec certains champs situés dans une classe de pilote?

J'ai un programme Java avec plusieurs classes de plans d'objets, une classe de menu et une classe de pilote. Le menu des appels de classe de conducteur. Dans la classe de menu, je crée un objet client en instanciant seulement 1 de ses 4 champs. Le champ est un champ d'identifiant unique. Je veux obtenir les 3 autres champs d'un ArrayList situé dans la classe de conducteur. Comment puis-je choisir un objet client à partir d'une ArrayList dans une classe séparée?

Le premier objet que j'essaie de créer.

public class Customer { 

private int id; 
private String name; 
private String address; 
private String phone; 

    public static int count = 100; 

public Customer(String name, String address, String phone) { 

    this.id = count; 
    this.name = name; 
    this.address = address; 
    this.phone = phone; 
      count++; 
} 

}

Réservation a un client

public class Reservation { 

static Scanner scan = new Scanner(System.in); 
private Customer customer; 
private Flight flight; 
private int partySize; 
private double reservationCost; 



final private double FIRST_CLASS_COST = 850.00; 
final private double ECONOMY_COST = 450.00; 

public Reservation(Customer customer, Flight flight, int partySize, double reservationCost) { 
    this.customer = customer; 
    this.flight = flight; 
    this.partySize = partySize; 
    this.reservationCost = reservationCost; 
} 

Dans la classe du pilote, appelé AirlineDriver, il y a une ArrayList des clients. Dans le code ci-dessous, comment créer un objet client pour ensuite créer une réservation si j'ai besoin d'obtenir l'un des clients dans la liste de tableaux dans le pilote?

public class Menu { 
static Scanner scan = new Scanner(System.in); 


public Reservation createReservation() { 

    Customer cust = new Customer(); 
    Flight flight; 
    Reservation reservation; 

    System.out.println("Are you a returning customer? (Y or N)"); 
    String w = scan.nextLine(); 
    while (!"Y".equals(w) || !"y".equals(w) || !"N".equals(w) || !"n".equals(w)) { 
     System.out.println("Incorrect key, please enter Y for Yes, and N for No."); 
     w = scan.nextLine(); 
    } 
    if (w.equalsIgnoreCase("Y") || w.equalsIgnoreCase("y")) { 
     System.out.println("Welcome back and thank you for flying with us."); 
     System.out.println("What is your Customer ID?"); 
     int custID = scan.nextInt(); 

    } 

Si le client existe déjà, ils figurent déjà dans cette ArrayList.

public class AirlineDriver { 

private static Scanner files; 

public static void main(String[] args) { 

    Scanner input = new Scanner(System.in); 

    ArrayList<Customer> cust = new ArrayList<Customer>(); 

Répondre

0

Assurez-vous, vous avez déclaré tout getter dans Customer classe. Parce que, je n'ai pas déclaré. Vous devez parcourir le ArrayList<Customer>

for(Customer custom : cust) 
{ 
    // call all your getter method from Customer class. 
    String customerName = custom.getName(); 
} 
+0

AirlineDriver est un programme géré par un menu. Comment puis-je parcourir l'ArrayList si je crée le client dans une classe distincte? Dois-je déplacer la classe Menu dans AirlineDriver? – miler4salem

+0

@ miler4salem vous devez obtenir la liste peuplée pour itérer – Ravi