Blog › Forum › Java › Test su classi › Rispondi a: Test su classi
18 Giugno 2021 alle 11:16
#4959
JavaRe
Ospite
::
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);
}
}