Corso Live Part-time Su Fondamenti Di Java › Forum › Java › Test su classi
- Questo topic ha 3 risposte, 1 partecipante ed è stato aggiornato l'ultima volta 3 anni, 6 mesi fa da JavaRe.
-
AutorePost
-
14 Giugno 2021 alle 15:44 #495515 Giugno 2021 alle 14:53 #4957adminAmministratore del forum15 Giugno 2021 alle 15:41 #4958SalvatoreOspite::
3. Scrivere un programma Java che chiede all’utente l’inserimento di un elenco di squadre di calcio.
Per ogni squadra di calcio interessa:
• Nome della squadra
• Citta dove disputa le partite casalinghe
• Nome dello stadio
• Numero di spettatori che può accogliere lo stadioIl programma dovrà effettuare i seguenti controlli
• Che tutti i campi siano stati inseriti
• Che Il nome della squadra non sia maggiore di 70 caratteri
• Che il nome della squadra sia univoco (cioè non è già stato inserito in precedenza)
• Che il nome della città non sia più lungo di 35 caratteri
• Che il nome dello stadio non contenga un apice (‘)
• Che il numero degli spettatori sia un numero compreso tra 5000 e 50000
Strutturare il programma di modo da creare classi di Eccezioni personalizzate
Le funzioni da realizzare sono:
• Inserimento di una squadra di calcio.
• Cancellazione di una squadra di calcio. Avverrà digitando il nome della squadra di calcio
• Ricerca di una squadra di calcio per:
o Nome esatto della squadra (la ricerca fornisce come risultato solo la squadra di calcio che ha quel nome)
o Nome parziale della squadra (la ricerca fornisce come risultato solo la squadra di calcio che inizia con quel nome)
• Elenco di tutte le squadre di calcio18 Giugno 2021 alle 11:16 #4959JavaReOspite::Una possibile soluzione è la seguente:
package com; public class SquadraCalcio { private String nome; private String citta; private String stadio; private int numeroSpettatori; public String getNome() { return nome; } public void setNome(String nome) { this.nome = nome; } public String getCitta() { return citta; } public void setCitta(String citta) { this.citta = citta; } public String getStadio() { return stadio; } public void setStadio(String stadio) { this.stadio = stadio; } public int getNumeroSpettatori() { return numeroSpettatori; } public void setNumeroSpettatori(int numeroSpettatori) { this.numeroSpettatori = numeroSpettatori; } @Override public boolean equals(Object obj) { SquadraCalcio other = (SquadraCalcio) obj; if (nome == null) { if (other.nome != null) return false; } else if (!nome.equals(other.nome)) return false; return true; } @Override public String toString() { return "SquadraCalcio [nome=" + nome + ", citta=" + citta + ", stadio=" + stadio + ", numeroSpettatori=" + numeroSpettatori + "]"; } }
package com; import java.util.ArrayList; import java.util.List; import java.util.Scanner; public class GestioneSquadreCalcio { private Scanner scan = new Scanner(System.in); private List<SquadraCalcio> squadre = new ArrayList<SquadraCalcio>(); public String leggiNomeSquadra() throws WrongInputException { scan = new Scanner(System.in); boolean valido = false; String tmp = null; while (!valido) { System.out.println("Nome:"); tmp = scan.nextLine(); if (tmp.contains("@")) throw new WrongInputException("@ carattere non permesso"); if (tmp.length() == 0 || tmp.length() > 70) System.out .println("Il valore inserito deve avere una lunghezza maggiore di 0 e minore di 70 caratteri "); else { SquadraCalcio c = new SquadraCalcio(); c.setNome(tmp); if (squadre.contains(c)) System.out.println("E' già presente una squadra con questo nome!"); else valido = true; } } return tmp; } public String leggiNomeCitta() { scan = new Scanner(System.in); boolean valido = false; String tmp = null; while (!valido) { System.out.println("Città:"); tmp = scan.nextLine(); if (tmp.length() == 0 || tmp.length() > 35) System.out .println("Il valore inserito deve avere una lunghezza maggiore di 0 e minore di 35 caratteri "); else if (tmp.contains("'")) System.out.println("Non inserire il carattere apice"); else valido = true; } return tmp; } public int leggiNumeroSpettatori() { scan = new Scanner(System.in); boolean valido = false; int tmp = 0; while (!valido) { System.out.println("Numero Spettatori:"); tmp = scan.nextInt(); if (tmp < 5000 || tmp > 50000) System.out.println("Il valore inserito deve essere compreso tra 5000 e 50000"); else valido = true; } return tmp; } public void inserimentoSquadra() throws WrongInputException { SquadraCalcio s = new SquadraCalcio(); System.out.println("Inserimento Squadra"); String nomeS = leggiNomeSquadra(); s.setNome(nomeS); String nomeC = leggiNomeCitta(); s.setCitta(nomeC); int num = leggiNumeroSpettatori(); s.setNumeroSpettatori(num); scan = new Scanner(System.in); System.out.println("Nome stadio:"); s.setStadio(scan.nextLine()); squadre.add(s); } public void cancellaSquadra() { scan = new Scanner(System.in); System.out.println("Inserire nome squadra da eliminare"); String r = scan.nextLine(); SquadraCalcio c = new SquadraCalcio(); c.setNome(r); if (squadre.remove(c)) System.out.println("Squadra rimossa"); else System.out.println("Non esiste una squadra con questo nome"); } public void elencoSquadre() { for (SquadraCalcio squadraCalcio : squadre) { System.out.println(squadraCalcio); } } public void ricercaSquadraParziale() { scan = new Scanner(System.in); System.out.println("Inserire nome squadra da ricercare"); String r = scan.nextLine(); boolean trovata = false; for (SquadraCalcio squadraCalcio : squadre) { String nomeParziale = squadraCalcio.getNome().substring(0, r.length()); if (nomeParziale.equals(r)) { System.out.println("Squadra trovata"); System.out.println(squadraCalcio); trovata = true; break; } } if (!trovata) System.out.println("Squadra non trovata"); } public void ricercaSquadra() { scan = new Scanner(System.in); System.out.println("Inserire nome squadra da ricercare"); String r = scan.nextLine(); SquadraCalcio c = new SquadraCalcio(); c.setNome(r); if (squadre.contains(c)) { System.out.println("Squadra trovata"); System.out.println(c); } else System.out.println("Squadra Non trovata"); } public void start() throws WrongInputException { int risposta = 10; while (risposta != 0) { System.out.println("Premere:"); System.out.println("1: inserimento squadra"); System.out.println("2: eliminare squadra:"); System.out.println("3: ricerca squadra per nome"); System.out.println("4: ricerca squadra per nome parziale"); System.out.println("5: elenco squadre"); System.out.println("0: per uscire"); risposta = scan.nextInt(); switch (risposta) { case 1: inserimentoSquadra(); break; case 2: cancellaSquadra(); ; break; case 3: ricercaSquadra(); break; case 4: ricercaSquadraParziale(); break; case 5: elencoSquadre(); break; case 0: break; default: System.out.println("valore inserito errato"); } } } public static void main(String[] args) { GestioneSquadreCalcio gs = new GestioneSquadreCalcio(); try { gs.start(); } catch (WrongInputException e) { System.err.println("INPUT NON PERMESSO"); } } }
package com; public class WrongInputException extends Exception { WrongInputException(String s) { super(s); } }
-
AutorePost
- Devi essere connesso per rispondere a questo topic.