Questo è il codice:
codice:
public class Cliente {
String nominativo = new String();
String telefono = new String();
//Costruttore per l'inizializzazione di un oggetto Cliente
public Cliente(){
nominativo = "NUL";
telefono = "NUL";
}
// Metodo per l'inserimento del campo Nominativo
public void setNominativo(String nomCogn){
nominativo = nomCogn;
}
// Metodo per l'inseriemnto del campo Telefono
public void setTelefono(String numTel){
telefono = numTel;
}
}
codice:
import java.util.*;
import java.io.*;
public class Spettacolo{
// variabili (tipi primitivi)
int nroPosti = 100;
int nroMaxAttesa;
int nroPrenotazioni = 0;
// ArrayList per la memorizzazione di oggetto di tipo Cliente
ArrayList<Cliente> arrayPrenotazioni = new ArrayList<Cliente>();
ArrayList<Cliente> arrayAttesa = new ArrayList<Cliente>();
// Costruttore per l'inizializzazione di un oggetto di tipo Spettacolo
public Spettacolo(int valMaxAttesa){
nroMaxAttesa = valMaxAttesa;
}
// Metodo "libero" che restituisce T se vi è ancora disponibilità di posti
public boolean libero(){
boolean aux_libero = false; //variabile ausiliaria per l'assegnazione del risultato del metodo
if (!arrayPrenotazioni.isEmpty()){ //verifico se la lista prenotazioni è non vuota
if (nroPosti-arrayPrenotazioni.size() > 0) //verifico se vi è ancora disponibilità di posti
aux_libero = true;
}
else
aux_libero = true;
return(aux_libero); //assegno al metodo un valore di outupt corrispondente al valore della variabile ausiliaria
}
public void prenota(Cliente client){
boolean aux_prenota;
aux_prenota = this.libero();
if(aux_prenota){
arrayPrenotazioni.add(client);
nroPrenotazioni++;
}
else
if (arrayAttesa.size() < nroMaxAttesa)
arrayAttesa.add(client);
else System.out.println("Liste di prenotazione e di attesa piene.");
}
public int trova(Cliente client){
int aux_trova = -1;
if(arrayPrenotazioni.contains(client)) aux_trova = 0;
else
if(arrayAttesa.contains(client)) aux_trova = 1;
return(aux_trova);
}
public void disdici(Cliente client){
if(arrayPrenotazioni.contains(client)){
if(!arrayAttesa.isEmpty()){
arrayPrenotazioni.remove(arrayPrenotazioni.indexOf(client));
arrayPrenotazioni.add(arrayAttesa.get(0));
arrayAttesa.remove(0);
}
else{
arrayPrenotazioni.remove(arrayPrenotazioni.indexOf(client));
nroPrenotazioni--;
}
}
else
if(arrayAttesa.contains(client)) arrayAttesa.remove(arrayAttesa.indexOf(client));
else System.out.println("Cliente non presente in nessuna lista.");
}
public boolean incompleto(Cliente client){
boolean aux_incompleto = false;
if((arrayPrenotazioni.contains(client)) && (arrayAttesa.contains(client))) aux_incompleto = true;
return(aux_incompleto);
}
public void salvaDati() throws IOException{
FileWriter f = new FileWriter("fileoutput.txt");
PrintWriter uscita = new PrintWriter(f);
uscita.println("LISTA DELLE PRENOTAZIONI:");
if (!arrayPrenotazioni.isEmpty()){
for(int i=0; i < arrayPrenotazioni.size(); i++){
uscita.print((i+1)+". ");
uscita.print(arrayPrenotazioni.get(i).nominativo);
uscita.print(" ");
uscita.println(arrayPrenotazioni.get(i).telefono);
}
}
else System.out.println("Vuota.");
uscita.println("LISTA DI ATTESA:");
if (!arrayAttesa.isEmpty()){
for(int i=0; i < arrayAttesa.size(); i++){
uscita.print((i+1)+". ");
uscita.print(arrayAttesa.get(i).nominativo);
uscita.print(" ");
uscita.println(arrayAttesa.get(i).telefono);
}
}
else System.out.println("Vuota");
uscita.close();
}
}
codice:
import java.awt.*;
import javax.swing.*;
public class Index{
public static void main(String[] args) {
JFrame base = new JFrame("Gestione Spettacolo");
base.setVisible(true);
base.setBounds(000,000,490,350);
base.setResizable(false);
base.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel p1 = new JPanel();
base.add(p1);
p1.setVisible(true);
p1.setBounds(0,0,490,350);
JLabel l1 = new JLabel("PRENOTAZIONI");
p1.add(l1);
l1.setVisible(true);
l1.setBounds(10,5,150,10);
JTextField txt1 = new JTextField("Nome");
p1.add(txt1);
txt1.setVisible(true);
txt1.setBounds(10,80,230,35);
JTextField txt2 = new JTextField("Cognome");
p1.add(txt2);
txt2.setVisible(true);
txt2.setBounds(250,80,230,35);
JTextField txtAttesa = new JTextField("N° max clienti in lista d'attesa");
p1.add(txtAttesa);
txtAttesa.setVisible(true);
txtAttesa.setBounds(10,40,215,30);
JButton b1 = new JButton("Prenota");
p1.add(b1);
b1.setVisible(true);
b1.setBounds(10,120,150,40);
JButton b2 = new JButton("Trova");
p1.add(b2);
b2.setVisible(true);
b2.setBounds(230,120,90,40);
JButton b3 = new JButton("Disdici");
p1.add(b3);
b3.setVisible(true);
b3.setBounds(330,120,150,40);
JButton b4 = new JButton("Liberi");
p1.add(b4);
b4.setVisible(true);
b4.setBounds(10,170,230,40);
JButton b5 = new JButton("Incompleti");
p1.add(b5);
b5.setVisible(true);
b5.setBounds(250,170,230,40);
JButton b6 = new JButton();
p1.add(b6);
b6.setVisible(true);
b6.setEnabled(false);
b6.setBounds(170,120,50,40);
JButton b7 = new JButton("Genera");
p1.add(b7);
b7.setVisible(true);
b7.setBounds(225,40,90,30);
JButton b8 = new JButton("SALVA");
p1.add(b8);
b8.setVisible(true);
b8.setBounds(185,225,120,40);
}
}