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

    eclipse errore inspiegabile

    sareste così gentili da dare un occhiata a questo piccolo programma e dirmi dove erro?

    la traccia è "scrivere un programma sulla gestione dei corsi universitari. si stampino tutti i corsi e dato un docente stampare tutti i corsi da lui tenuti"


    codice:
    CLASSE CORSO
    
    import java.io.PrintStream;
    
    import java.util.Scanner;
    
    
    public class Corso {
    	private String codFiscale;
    	private String codCorso;
    	private String nomeCorso;
    	private String corsoLaurea;
    	private String descrizione;
    
    	
    	public Corso(String aCodFiscale, String aCodCorso, String aNomeCorso, String aCorsoLaurea, String aDescrizione){
    		codFiscale=aCodFiscale;
    		codCorso=aCodCorso;
    		nomeCorso=aNomeCorso;
    		corsoLaurea=aCorsoLaurea;
    		descrizione=aDescrizione;
    		
    	}
    	
    	public String getCodFiscale (){
    		return codFiscale;
    	}
    
    	public String getCodCorso (){
    		return codCorso;
    	}
    	
    	public String getNomeCorso (){
    		return nomeCorso;
    	}
    	
    	public String getCorsoLaurea (){
    		return corsoLaurea;
    	}
    	
    	public String getDescrizione (){
    		return descrizione;
    	}
    	
    	public String toString(){
    		return "Cod fiscale: " + codFiscale + "\n" +
    		"Cod corso: " + codCorso + "\n" +
    		"Nome corso: " + nomeCorso + "\n" +
    		"Corso laurea: " + corsoLaurea + "\n" + 
    		"Descrizione: " + descrizione;
    	}
    	
    	public void print (PrintStream ps){
    		ps.println(codFiscale);
    		ps.println(codCorso);
    		ps.println(nomeCorso);
    		ps.println(corsoLaurea);
    		ps.println(descrizione);
    	}
    	
    	public static Corso read (Scanner s2){
    		if(s2.hasNext())
    			return null;
    		String codFiscale=s2.nextLine();
    		
    		if(s2.hasNext())
    			return null;
    		String codCorso=s2.nextLine();
    		
    		if(s2.hasNext())
    			return null;
    		String nomeCorso=s2.nextLine();
    		
    		if(s2.hasNext())
    			return null;
    		String corsoLaurea=s2.nextLine();
    		
    		if(s2.hasNext())
    			return null;
    		String descrizione=s2.nextLine();
    		
    		Corso c=new Corso(codFiscale, codCorso, nomeCorso, corsoLaurea, descrizione);
    		
    		return c;
    	}


    codice:
    CLASSE DOCENTE
    import java.io.PrintStream;
    
    import java.util.Scanner;
    
    
    public class Docente {
    	private String codFiscale;
    	private String nome;
    	private String cognome;
    	private int dataNascita;
    	private String fascia;
    	private String corsoLaurea;
    	
    	
    	public Docente (String aCodFiscale, String aNome, String aCognome, int aDataNascita, String aFascia, String aCorsoLaurea){
    	 codFiscale=aCodFiscale;
    	 nome=aNome;
    	 cognome=aCognome;
    	 dataNascita=aDataNascita;
    	 fascia=aFascia;
    	 corsoLaurea=aCorsoLaurea;
    		
    	}
    
    	public String getCodFiscale(){
    		return codFiscale;
    	}
    	
    	public String getNome(){
    		return nome;
    	}
    	
    	public String getCognome(){
    		return cognome;
    	}
    	
    	
    	public int getDataNascita(){
    		return  dataNascita;
    	}
    	
    	public String getFascia(){
    		return fascia;
    	}
    	
    	public String getCorsoLaurea(){
    		return corsoLaurea;
    	}
    	
    	public String toString(){
    		return "Cod fiscale: " + codFiscale + "\n" + 
    		"Nome: " + nome + "\n" + "Cognome: " + cognome + "\n" +
    		"Data nascita: " +dataNascita + "\n" +
    		"Fascia: " + fascia + "\n"
           +"Corso laurea: " + corsoLaurea;
    		}
    	
    	public void print (PrintStream ps){
    		ps.println(codFiscale);
    		ps.println(nome);
    		ps.println(cognome);
    		ps.println(dataNascita);
    		ps.println(fascia);
    		ps.println(corsoLaurea);
    	}
    	
    	public static Docente read (Scanner s){
    		if(!s.hasNext())
    			return null;
    		String codFiscale=s.nextLine();
    		
    		if(!s.hasNext())
    			return null;
    		String nome=s.nextLine();
    		
    		if(!s.hasNext())
    			return null;
    		String cognome=s.nextLine();
    		
    		if(!s.hasNextInt())
    			return null;
    		int dataNascita=s.nextInt();
    		
    		if(!s.hasNext())
    			return null;
    		String fascia=s.nextLine();
    		
    		if(!s.hasNext())
    			return null;
    		String corsoLaurea=s.nextLine();
    		
    		
    		Docente i=new Docente (codFiscale, nome, cognome, dataNascita, fascia, corsoLaurea);
    	
    		
    		return i;
    	}
    	
    	
    }
    codice:
    GESTORE SEGRETERIA
    
    import java.util.ArrayList;
    import java.util.Scanner;
    
    
    public class Segreteria {
    private ArrayList <Docente> docenti;
    private ArrayList <Corso> corsi;
    
    public Segreteria(Scanner s, Scanner s2){
    	docenti=new ArrayList <Docente>();
    	corsi=new ArrayList <Corso> ();
    	while(s.hasNext()){
    		Docente d=Docente.read(s);
    		docenti.add(d);
    	}
    	while(s2.hasNext()){
    		Corso c= Corso.read(s2);
    		corsi.add(c);
    	}
    		
    }
    	
    public void stampaArchivio(){
    	for(Docente d: docenti)
    		System.out.println(d);
    	for(Corso c: corsi)
    		System.out.println(c);
    }
    	
    public void datoDocenteGetCorso(String codFiscale){
    	for(Docente d: docenti){
    		if(codFiscale.equalsIgnoreCase(d.getCodFiscale()))
    			for(Corso c: corsi)
    				if(d.getCodFiscale().equalsIgnoreCase(c.getCodFiscale()))
    					System.out.println(c);
    				
    }}
    	
    }
    codice:
    TESTER
    
    import java.io.File;
    import java.io.FileNotFoundException;
    import java.io.FileReader;
    import java.util.Scanner;
    
    
    public class Tester {
    
    	
    	public static void main(String[] args) throws FileNotFoundException {
    	String percorso="Desktop//Programmazione//DocenteFile.txt";
    	File f=new File (percorso);
    	FileReader fr=new FileReader(f);
    	Scanner s=new Scanner (fr);
    	
    	
    	String percorso2="Desktop//Programmazione//CorsoFile.txt";
    	File f2=new File (percorso2);
    	FileReader fr2=new FileReader(f2);
    	Scanner s2=new Scanner (fr2);
    	
    	Segreteria segreteria=new Segreteria (s, s2);
    	segreteria.stampaArchivio();
    	//segreteria.datoDocenteGetCorso("AG290889"); 
    		
    		
    
    	}
    
    }

    mi dà un errore di out of memory heap space...
    il punto è che non è possibile in quanto i file da cui leggo sono piccolissimi (giusto qualche riga per vedere se funziona il prog) e poi ho provato anche da un altro computer e nemmeno lì funziona. vi prego potete aiutarmi?

  2. #2

    Re: eclipse errore inspiegabile

    Originariamente inviato da cavolinauff
    mi dà un errore di out of memory heap space...
    La maggior parte delle volte, quando non si fanno per bene le cose, escono fuori errori inaspettati.
    Credo, che l'errore venga generato nel costruttore della classe Segreteria: hai controllato se i cicli terminano?

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.