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

    [Java] Array di Oggetti

    Ciao a tutti è da molto che frequento questo sito ma è la prima volta che scrivo, sono un principiante nel linguaggio di programmazione Java, ultimamente sto sbattendo la testa su come creare un array di oggetti che però voglio inizializzare io da tastiera.

    L'array rappresenta una classe di studenti in cui io da tastiera voglio inserire i dati di ogni studente, es nome cognome matricola ecc, allora ho creato il i miei oggetti:
    codice:
    public class classeStudenti {
    
    	private static int numStudenti = 0;
    	private String nome;
    	private String cognome;
    	private int numMatricola;
    	private boolean risEsame;
    	
    	public classeStudenti() {
    		nome = "";
    		cognome = "";
    		numMatricola = 0;
    		risEsame = false;
    	}
    	
    	public classeStudenti(String nome, ...) {
    		this.nome = nome;
    		(..)
    	}
    	public String getNome() {
    		return nome;
    	}
    	
    	public String getCognome() {
    		return cognome;
    	}
    	
            (...)
    	
    	//---------------------------------------
    	
    	public void setNome(String name) {
    		nome = name;
    	}
    	
    	public void setCognome(String surname) {
    		cognome = surname;
    	}
            (...)
    	
    	public void inizializzaStudenti() {
    		Scanner tast = new Scanner(System.in);
    		
    		System.out.println("Nome: ");
    		setNome(tast.nextLine());
    		System.out.println("Cognome:");
    		setCognome(tast.nextLine());
    		System.out.println("numMatricola");
    		setNumMatricola(tast.nextInt());
    		System.out.println("Esito esame:(true/false): ");
    		setRisEsame(tast.nextBoolean());
    	}
    	
    	public String toString() {
    		String inStringa = "";
    		
    		inStringa += "Nome: " + getNome() + '\n';
        	inStringa += "Cognome: "+ getCognome() + '\n';
        	inStringa += "Eta': " + getNumMatricola() + '\n';
        	inStringa += "Condotta: "+getRisEsame() + '\n';
        	return inStringa;
    	}
    }
    
    //L'Errore mi compare nel main quando cerco di creare l'array..
    
    		
    		System.out.println("Crea una classe di studenti da 20 alunni");
    		classeStudenti[] classe = new classeStudenti[20];
    		for(int i = 0; i < classe.length; i++) {
    			classe[i] = new classeStudenti.inizializzaStudenti; 
      
                          //QUI MI DA ERRORE E NON SAPREI COME RISOLVERE :messner: 
                             
    		}
    		System.out.println("print della classe");
    		for(int i = 0; i < classe.length; i++) {
    			System.out.println(classe[i]);
    		}
    	}
    }
    Grazie mille in anticipo

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2010
    Messaggi
    3
    Quale tipo di errore ti dà?

  3. #3
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Innanzitutto ti consiglio di cambiare il nome alla classe, è sufficiente anche solo "Studente" o meglio, "Student". Poi, mescolare nomi in italiano e nomi in inglese è BRUTTO. Impara ad usare this, esempio:
    codice:
    public class Student {
      private String name;
      ...
      public void setName(String name) {
        this.name = name;
      } 
      
      ...
    }
    Venendo al tuo problema:
    Codice PHP:
        classeStudenti[] classe = new classeStudenti[20];
            for(
    int i 0classe.lengthi++) {
                
    classe[i] = new classeStudenti.inizializzaStudenti
          } 
    new deve chiamare un costruttore! Cos'è classeStudenti.inizializzaStudenti? Avrebbe senso se inizializzaStudenti fosse un metodo static e se togliessi la new (e con qualche altra modifica).
    Dovrebbe essere
    codice:
    			classe[i] = new classeStudenti(passa_i_parametri_giusti);
    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.