Ok lasciate stare l'esercizio che ho messo prima. Adesso ho quest'altro esercizio che non va. Non posto la consegna perché man mano che leggete appena prima nello switch capirete che mi aspetto. Nel main ci sono degli errori, netbeans li segna di rosso. Devo solo correggere quegli errori. Non credo di dover dare altre spiegazioni, credo che si spieghi tutto da sè...
package es.pkg7.arraylist;
import java.util.ArrayList;
import javax.swing.JOptionPane;
public class Es7Arraylist {
public static int creaNumero(String o) {
return Integer.parseInt(JOptionPane.showInputDialog(o));
}
public static Veicolo creaVeicolo() {
Veicolo a;
a = new Veicolo(creaNumero("Inserire codice (tutto a numeri)"),
JOptionPane.showInputDialog("Inserire targa (lettere e numeri)"),
JOptionPane.showInputDialog("Inserire marca"),
JOptionPane.showInputDialog("Inserire modello"),
creaNumero("Inserire numero posti"));
return a;
}
public static void main(String[] args) {
ArrayList<Autonoleggio> garage = new ArrayList<Autonoleggio>();
while (JOptionPane.showConfirmDialog(null, "Vuoi inserire un veicolo?", "conferma", JOptionPane.YES_NO_OPTION) == 0) {
garage.aggiungiVeicolo(creaVeicolo());
}
String s = JOptionPane.showInputDialog("1) Aggiungi un nuovo veicolo"
+ "\n2) Elimina un veicolo "
+ "\n3) Ricerca informazioni veicolo "
+ "\n4) Ricerca quanti veicoli per unmero di posti "
+ "\n5) Quante macchine dispone per ogni marca l'autonoleggio"
+ "\n6) Esci ");
while (!s.equals("6")) {
switch (s) {
case "1":
garage.aggiungiVeicolo(creaVeicolo());
JOptionPane.showMessageDialog(null, garage.toString());
break;
case "2":
JOptionPane.showMessageDialog(null, garage.rimuovi(creaNumero("Inserisci il codice del veicolo da eliminare\n\n" + garage.toString())));
break;
case "3":
JOptionPane.showMessageDialog(null, garage.ricerca(creaNumero("Inserisci il codice del veicolo di cui vuoi sapere informazioni\n\n" + garage.toString())));
break;
case "4":
JOptionPane.showMessageDialog(null, garage.nPosti(creaNumero("Inserisci il numero posti\n\n" + garage.toString())));
break;
case "5":
JOptionPane.showMessageDialog(null, garage.inventario());
break;
}
};
}
}
package es.pkg7.arraylist;
public class Veicolo {
private int codice;
private String targa;
private String marca;
private String modello;
private int posti;
public Veicolo(int codice, String targa, String marca, String modello, int posti) {
this.codice = codice;
this.targa = targa;
this.marca = marca;
this.modello = modello;
this.posti = posti;
}
public int getCodice() {
return codice;
}
public void setCodice(int codice) {
this.codice = codice;
}
public String getTarga() {
return targa;
}
public void setTarga(String targa) {
this.targa = targa;
}
public String getMarca() {
return marca;
}
public void setMarca(String marca) {
this.marca = marca;
}
public String getModello() {
return modello;
}
public void setModello(String modello) {
this.modello = modello;
}
public int getPosti() {
return posti;
}
public void setPosti(int posti) {
this.posti = posti;
}
}
package es.pkg7.arraylist;
import java.util.ArrayList;
public class Autonoleggio {
private ArrayList<Veicolo> garage = new ArrayList<Veicolo>();
public void aggiungiVeicolo(Veicolo a) {
garage.add(a);
}
public String rimuovi(int codice) {
String o = "";
for (int i = 0; i < garage.size(); i++) {
if (garage.get(i).getCodice() == codice) {
garage.remove(garage.get(i));
o = "Il veicolo è stato rimosso";
break;
}
o = "Errore: nessun veicolo rimosso";
}
return o;
}
public String ricerca(int codice) {
String o = "";
for (int i = 0; i < garage.size(); i++) {
if (garage.get(i).getCodice() == codice) {
o = "Codice:\n" + garage.get(i).getCodice()
+ "\n\nTarga:\n" + garage.get(i).getTarga()
+ "\n\nMarca:\n" + garage.get(i).getMarca()
+ "\n\nModello:\n" + garage.get(i).getModello()
+ "\n\nNumero Posti:\n" + garage.get(i).getPosti();
} else {
o = "Il codice inserito non è presente nell'elenco";
}
}
return o;
}
public String nPosti(int n) {
String o = "Il veicolo/i veicoli con il numero di posti inserito ha/hanno questo codice:\n\n";
for (int i = 0; i < garage.size(); i++) {
if (garage.get(i).getPosti() == n) {
o += garage.get(i).getCodice() + "\n• ";
}
}
return o;
}
public String inventario() {
String o = "";
ArrayList<String> prova = new ArrayList<String>();
boolean b = false;
for (int i = 0; i < garage.size(); i++) {
for (int c = i; c < prova.size(); c++) {
if (garage.get(i).getMarca().equals(prova.get(c))) {
b = true;
break;
}
}
if (!b) {
prova.add(garage.get(i).getMarca());
}
b = false;
}
int contatore[] = new int[prova.size()];
for (int i = 0; i < prova.size(); i++) {
for (int c = 0; c < garage.size(); c++) {
if (prova.get(i).equals(garage.get(c).getMarca())) {
contatore[i]++;
}
}
}
for (int i = 0; i < contatore.length; i++) {
o += prova.get(i) + "\n " + contatore[i] + "\n\n";
}
return o;
}
public String toString() {
String o = "";
for (int i = 0; i < garage.size(); i++) {
o += (i + 1) + ") " + garage.get(i).getCodice() + "\n";
}
return o;
}
}
Nel main mi sottolinea tutti i metodi, che cosa ho dimenticato di fare/fatto sbagliato? spero mi possiate aiutare