Non credo che ci possano essere problemi per i tipi di dato primitivo: il programmatore, infatti, deve preoccuparsi di inizializzare sempre le variabili. Se queste prendono valore da un'interazione con l'utente è sempre possibile decidere se esse sono state inizializzate oppure no. Come in questo caso:
In questo codice la variabile è sempre inizializzata. Se si verificano eccezioni la variabile ha comunque il valore 0. Non si deve mai lasciare una variabile non inizializzata (regola numero 1 della programmazione).codice:int a = 0; // Il programmatore inizializza sempre le proprie variabili try { BufferedReader br = new BufferedReader( new InputStreamReader(System.in) ); String leggi = br.readLine(); a = Integer.parseInt(leggi); } catch (Exception e) { ... } // Se si sono verificate eccezioni la variabile contiene il valore 0, // che evita qualsiasi tipo di problema
Aggiungendo una variabile booleana, ad esempio, è possibile discriminare sull'avvenuta inizializzazione o meno da parte dell'utente.
Ciao.![]()



Rispondi quotando