Ho creato una semplice classe di articoli;Java ArrayList/RMI
class itemInfo{
int auctionID;
int startPrice;
int buyoutPrice;
}
Ho creato un ArrayList;
ArrayList<itemInfo> itemSet = new ArrayList<itemInfo>();
Ho anche un metodo qui che consente a un utente di creare un elemento (il metodo è incompleta, ho provato solo attuazione scelta == 1 finora!);
public void auctionChoice(){
System.out.println("---- What would you like to do? ----\n");
System.out.println("1: List an item for auction\n");
System.out.println("2: Bid on an existing item\n");
System.out.println("3: Remove an item from the auction\n");
if(scanner.next().equals("1")){
itemInfo createdItem = new itemInfo();
System.out.println("----Enter the auctionID----");
createdItem.auctionID = scanner.nextInt();
System.out.println("----Enter the item startPrice----");
createdItem.startPrice = scanner.nextInt();
System.out.println("----Enter the buyoutPrice----");
createdItem.buyoutPrice = scanner.nextInt();
System.out.println("Auction ID:" +createdItem.auctionID+ "\nstartPrice:" +createdItem.startPrice+ "\nbuyoutPrice:" +createdItem.buyoutPrice);
itemSet.add(createdItem);
}
}
Quello che sto bloccato su sta costruendo un metodo che permetterà all'utente di visualizzare un elenco di aste voce corrente, fondamentalmente un modo per stampare l'itemSet ArrayList.
Ho cercato di usare toString() ma non sono sicuro di come farlo restituire più di un valore, vale a dire auctionID, startPrice, buyoutPrice.
Idealmente vorrei che l'utente selezionasse una scelta come "visualizza aste correnti" e quindi il metodo per stampare l'intero ArrayList in un formato come "ID asta: **** Prezzo iniziale: **** Prezzo di acquisto: **** "con ovviamente il **** come numero immesso dall'utente.
Sono contento che questo ha aiutato, si prega di leggere l'ultimo pezzo che ho aggiunto in quanto vi aiuterà a migliorare rendere il codice più mantenibile e più facile da lavorare nel futuro. – ThePerson
Ha aiutato così tanto, grazie! Grazie anche per i suggerimenti generali sul mio codice, cercando di essere il più elegante possibile. Solo per chiedere con il metodo case/switch, c'è un modo in cui dopo che un utente ha selezionato "1", immesso tutte le variabili (auctionID ecc.), Il codice tornerà automaticamente a dare nuovamente la scelta del menu? Spero che abbia un senso. –
Questo ha senso. Probabilmente vuoi usare un loop per farlo. Prendi in considerazione l'idea di inserire un ciclo attorno alla chiamata a "methodChoice()". A seconda di quando vuoi fermarti, dovrai selezionare un ciclo appropriato tra do, for o while. Penserei, ad esempio, che si possa aggiungere al menu un'opzione per uscire. – ThePerson