Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    Gestion eccezioni IOException

    codice:
    import java.util.*;
    import java.io.*;
    
    public class Spettacolo{
    	// variabili (tipi primitivi)
    	int nroPosti;
    	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 valPosti, int valAttesa){
    		nroPosti = valPosti;
    		nroMaxAttesa = valAttesa;
    	}
    	
    	// Metodo "libero" che restituisce T se vi è ancora disponibilità di posti
    	public boolean libero(){
    		boolean aux_libero = false;
    		
    		if (!arrayPrenotazioni.isEmpty()){ 
    			if (nroPosti-arrayPrenotazioni.size() > 0)
    				aux_libero = true;
    		}
    		else
    			aux_libero = true;
    		return(aux_libero);
    	}
    	
    	
    	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); 
    		//try{
    		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:
    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;
    	}
    		
    }
    mentre questo è il main
    codice:
    public class index {
    
    	public static void main(String[] args) {
    		
    		Spettacolo S = new Spettacolo(3,1);
    		
    		Cliente client = new Cliente();
    		client.setNominativo("G C");
    		client.setTelefono("1");
    		S.prenota(client);
    		
    		Cliente client1 = new Cliente();
    		client1.setNominativo("C C");
    		client1.setTelefono("2");
    		S.prenota(client1);
    		
    		Cliente client2 = new Cliente();
    		client2.setNominativo("A F");
    		client2.setTelefono("3");
    		S.prenota(client2);
    		
    		Cliente client3 = new Cliente();
    		client3.setNominativo("V C");
    		client3.setTelefono("4");
    		S.prenota(client3);
    		
    		Cliente client4 = new Cliente();
    		client4.setNominativo("T A");
    		client4.setTelefono("5");
    		S.prenota(client4);
    		
    		S.salvaDati();		
    	}
    }
    L'errore restituito è il seguente:
    codice:
    Exception in thread "main" java.lang.Error: Unresolved compilation problem: 
    	Unhandled exception type IOException
    
    	at index.main(index.java:32)
    Qualcuno saprebbe aiutarmi?

  2. #2
    Il codice funziona perfettamente. Non è che non hai i permessi di scrittura?
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  3. #3
    Forse è un'osservazione stupida, ma...è possibile che sia dovuto al fatto che programmo su mac?

  4. #4
    Certo, non conosco il Mac OS, potrebbe effettivamente trattarsi di permessi di scrittura. Verifica i permessi del file ed eventualmente della directory che lo contiene.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  5. #5
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Originariamente inviato da satifal
    Il codice funziona perfettamente. Non è che non hai i permessi di scrittura?
    In realtà neanche compila:

    codice:
    index.java:32: unreported exception java.io.IOException; must be caught or declared to be thrown
    		S.salvaDati();		
    		           ^
    1 error
    Corretto quello a me funziona.

    @19pino87: usi un IDE per compilare?
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  6. #6
    Originariamente inviato da Alex'87
    In realtà neanche compila:

    codice:
    index.java:32: unreported exception java.io.IOException; must be caught or declared to be thrown
    		S.salvaDati();		
    		           ^
    1 error
    Corretto quello a me funziona.

    @19pino87: usi un IDE per compilare?
    Si è vero, anche io ho dovuto aggiungere il try catch, ma aggiunto quello funziona perfettamente.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  7. #7
    @Alex'87: sto compilando su Eclipse.

  8. #8
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Originariamente inviato da 19pino87
    @Alex'87: sto compilando su Eclipse.
    Ok. Prova a fare un "clean" del progetto e a ricompilare (prima correggi l'errore che ti ho segnalato nel messaggio precedente), in teoria dovresti risolvere
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.