[Java]Strana eccezione
package vettori;
import java.io.*;
class prova{
private int cazzate;
public int getcazzate(){
return (cazzate);
}
public void setcazzate(int cazzate){
this.cazzate=cazzate;
}
}
public class Main {
public static void main(String[] args) {
try{
prova x[]=new prova[2];
x[0].setcazzate(2);
x[1].setcazzate(9);
System.out.println(x[0].getcazzate());
}
catch(Exception e){System.out.println("eccezione");}
}}
import java.io.*;
class prova{
private int cazzate;
public int getcazzate(){
return (cazzate);
}
public void setcazzate(int cazzate){
this.cazzate=cazzate;
}
}
public class Main {
public static void main(String[] args) {
try{
prova x[]=new prova[2];
x[0].setcazzate(2);
x[1].setcazzate(9);
System.out.println(x[0].getcazzate());
}
catch(Exception e){System.out.println("eccezione");}
}}
Risposte
Se x è un array di un elemento, che senso ha chiamare x[1]? Per le prossime volte, anziché stampare solo un messaggio Eccezione, prova a stampare anche l'eccezione che viene gettata (usando ad esempio e.getMessage() oppure e.printStackTrace()).
Perché un array di dimensione 1 ha un solo elemento e non due... Quindi devi scrivere new prova[2].
sisi scusa è che per vedere perchè mi faceva l'eccezione ho messo new prova[1] ma anke con new prova[2] me lo fà..
ho provato a mettere e.printStackTrace() mi esce:
java.lang.NullPointerException
at vettori.Main.main(Main.java:43)
java.lang.NullPointerException
at vettori.Main.main(Main.java:43)
Io è da un po' che non programmo in Java... Ma se non sbaglio era necessario creare gli elementi dell'array. Devi quindi scrivere il seguente:
x[0] = new prova();
x[0].setcazzate(2);
x[0] = new prova();
x[0].setcazzate(2);
ok funziona grazie mille