Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1

    Stampa a video Array di Oggetti

    Ciao a tutti.
    Ho un array di oggetti. Riesco a fare l'inserimento in esso, ma quando poi voglio l'output dell'array attraverso 2 metodi getProcesso(), e getMemoria(), non funge.

    la classe VirtualMemory

    codice:
    /**
     * @(#)ArrayOggetti.java
     *
     *
     * @author 
     * @version 1.00 2012/1/23
     */
    
    package PackArray;
    
    public class VirtualMemory{
    private char p;
    private int m;
     public VirtualMemory (char processo , int memoria) {
    this.p = processo;
    this.m = memoria;
    }
    
    public char  getProcesso (){
    return this.p;
    }
    
    public int getMemoria (){
    return this.m;
    }
    
    
    }
    il file circolare2
    codice:
    /**
     * @(#)Circolare2.java
     *
     *
     * @author 
     * @version 1.00 2012/1/23
     */
    import java.io.*;
    import prog.io.*;
    import PackArray.*;
     class Circolare2 {
    	
    	
    
    
        public static void main(String[] args) { 
        
        	
        	int DIM = 5;
             int in=0;
          	
         	
         VirtualMemory[] Arraymemoria;
         	 Arraymemoria  =new VirtualMemory [DIM]; //crea l'array di oggetti VirtualMemory
         	
         		ConsoleInputManager input= new ConsoleInputManager();
             	ConsoleOutputManager output= new ConsoleOutputManager();
             	
        	 while (input.readSiNo("********VUOI INSERIRE ALTRI PROCESI?********: ")){	
        	 	
        	 	char Processo= input.readChar("Inserisci il PROCESSO:   ");
        	 	int Memoria= input.readInt("Inserisci la dimenzione della Memoria che occupa:   ");
        	 	
        	 	Arraymemoria[in]= new VirtualMemory(Processo, Memoria); //inserisce la stringa in posizione in 
        	 	 in = (in+1)%DIM; //incrementa la posizione di ingresso in modo circolare
        	
             }	
             	
             System.out.println ("RESOCONTO DELLa MEMORIA VIRTUALE:\n");
              for (int i=0; i<Arraymemoria.length ; i++){
                  //System.out.print (Arraymemoria[i].toString());
                Arraymemoria[i].getProcesso();
                 Arraymemoria[i].getMemoria();
                  }	
            
             	
             	
        }
        
        
    }
    questo l'errore che genera:
    codice:
    Exception in thread "main" java.lang.NullPointerException
        at Circolare2.main(Circolare2.java:42)
    
    Process completed.
    come posso sistemarlo?
    grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    alla riga 42 del file hai una variabile NULL, correggi quello.

    PS il compilatore java è molto chiaro riguardo a queste cose, NullPointerException alla riga 42
    RTFM Read That F*** Manual!!!

  3. #3
    ... ma ciò vuol dire che non sta nemmeno inserendo nell'array? come faccio a verificare che VirtualMemory[] Arraymemoria; l'abbia o meno riempito col ciclo for?

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    e ripartiamo da capo, se hai una NullPointerException vuole dire che qualcosa è null e non ci puoi lavorare su, PRIMA sistema quello, poi riprova ad eseguire. I risultati che vedi adesso sono fasulli a causa dell'eccezione
    Hai idea di quello di cui sto parlando?
    RTFM Read That F*** Manual!!!

  5. #5
    c'è per caso un errore nel costruttore dell'array? non saprei sennò

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    io non so quale sia la tua riga 42 in Circolare2, al max evidenziala e ti posso dare un'indicazione
    RTFM Read That F*** Manual!!!

  7. #7
    codice:
    Arraymemoria[i].getProcesso();

  8. #8
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    l'iesimo elemento è nullo, non lo hai inizializzato, non ci sono storie. Quanti elementi hai inserito nell'array?
    RTFM Read That F*** Manual!!!

  9. #9

  10. #10
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    e quanto è grande l'array?
    RTFM Read That F*** Manual!!!

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.