Questo codice mi da un "null pointer exception". Da quanto ho capito vuol dire che c'è qualcosa che sta a null, ma non capisco proprio cosa:
Questo è il main:codice:public class Libreria { private String codice, autore, titolo; private boolean cod; private String vet[]=new String[100]; private int i, dim=0; /** * Metodo costruttore. * Inserisce il libro solo se il codice è corretto e non è già presente in libreria. * Altrimenti imposta tutto a null. */ public Libreria(String codice, String autore, String titolo) { cod=controllaCodice(codice); if(cod==true){ this.codice=codice; this.autore=autore; this.titolo=titolo; vet[dim]=codice; dim++; }else{ System.out.println("Codice errato o autore già presente in elenco!"); this.codice=null; this.autore=null; this.titolo=null; } } /** * Restituisce vero se il codice è giusto. * Restituisce false se il codice è di lunghezza errata o è già presente. */ private boolean controllaCodice(String codice) { if(codice.length()!=6){ return false; // Codice di lunghezza errata }else{ for(i=0; i<vet.length; i++){ if(vet[i].equals(codice)){ return false; // Codice già presente in archivio } } return true; // Codice corretto } } @Override public String toString() { return "Codice: "+codice+", Autore: "+autore+", Titolo: "+titolo+"\n"; } }
Please help mecodice:public class Main { public static void main(String[] args) { Libreria lib; String str; lib=new Libreria("AA2457", "Autore 1", "Titolo di prova"); str=lib.toString(); System.out.println(str); lib=new Libreria("AB1265", "Autore 2", "Titolo di prova"); str=lib.toString(); System.out.println(str); lib=new Libreria("AC1586", "Autore 3", "Titolo di prova"); str=lib.toString(); System.out.println(str); lib=new Libreria("AD98123", "Autore 4", "Titolo di prova"); str=lib.toString(); System.out.println(str); lib=new Libreria("AC1586", "Autore 5", "Titolo di prova"); str=lib.toString(); System.out.println(str); } }![]()


Rispondi quotando