View Full Version : Non capisco quest'errore!! JAVA
quando compilo il mio file il compilatore non mi da errori, poi quando vado ad eseguire il file mi da questo messaggio:
Exception in thread "main" java.lang.NoSuchMethodError: main
non capisco, da cosa può essere generato se durante la compilazione non ci sono errori???
LEGGI DA QUI!!
per eviatre di parire un altro thread aggiungo qua il problema di ora...
liste è il nome della classe...
sapete dirmi che tipo di errore ho fatto?
compila correttamente ma durante l'esecuzione a un certo punto mi da questo errore...
Exception in thread "main" java.lang.NullPointerException at liste.main <liste.java:61>
non trova la classe contenente il main.... probabilmente mandi in esecuzione la classe sbagliata... o usi un ide?
il main l'avevo messo nella stessa classe in cui era implementato il metodo, ho provato anche a dividere il main dal resto e metterlo in un altro file ma...niente...
eccolo qua...perchè non va bene???
manca giusto lo "static"... ;)
grazie mmmmmille...per una bischerata del genere ci avrei perso un casino di tempo....grazie ancora...
upp...
ho aggiunto un problema nuovo in cima, ho fatto così per non aprire un altro thread che sarebbe stato utile a pochi...
dai datemi una manina...lo so che i problemi che vi sottopongo sono spesso errori banali... :muro:
E' possibile che tu stia cercando di utilizzare una variabile dichiarata ma non inizializzata, ad esempio
...
Vector c=null;
...
void faiqualcosa() {
c.add("ciao");
}
La compilazione avviene correttamente ma quando si passa all'esecuzione viene restituita un'eccezione NullPointerException.
Lo stesso succede quando si accede ai metodi o proprietà di un elemento di un array non inizializzato, ad esempio
...
Object[] data=new Object[10];
...
void faiqualcosa() {
System.out.println(data[5].toString());
}
.
Se posti il codice si dovrebbe vedere subito.
Ciao.
mi dici come si fa a inserire il codice in un post come hai fatto te?
l'ho scoperto....scusate...
allora il codice è questo...
public class liste
{
public static void main (IntSSList l1, IntSSList l2)
{
IntNode x = l1.head;
IntNode y = l2.head;
IntSSList list = new IntSSList();
while((x!=null)&&(y!=null))
{
if(x.chiave<y.chiave)
{
list.addToTail(x.chiave);
x=x.next;
}
else
{
list.addToTail(y.chiave);
y=y.next;
}
}
while(x!=null)
{
list.addToTail(x.chiave);
x=x.next;
}
while(y!=null)
{
list.addToTail(y.chiave);
y=y.next;
}
}
public static void main(String[] args)
{
IntNode head = null;
IntNode tail = null;
//es 3
System.out.println("Inserire il numero di dati che saranno nella lista");
int howMany = SavitchIn.readInt();
int count = 1;
IntSSList l = new IntSSList();
while(count<=howMany)
{
System.out.println("Inserire il dato");
if((count%2)!=0)
{
l.addToHead(SavitchIn.readInt());
count++;
}
else
{
l.addToTail(SavitchIn.readInt());
count++;
}
}
l.printAll();
System.out.println();
IntNode testing = head;
for(int i = 0; i < howMany; i++)
{
if((testing.chiave%2)==0)
{
l.delete(head.chiave);
}
}
l.printAll();
System.out.println();
}
}
l'errore avviene nell'ultimo ciclo for...
L'errore è quando fai:
"head.chiave"
il riferimento head è dichiarato a null all'inizio del codice e non viene più modificato...
L'eccezione viene generata nel condizionale:
if((testing.chiave...
Infatti testing fa riferimento a head che è dichiarato null nella prima linea del metodo main e rimane null perchè privo di inizializzazione. Dando un valore all'oggetto IntNode head (che presumo sia un AbstractCollection o un contenitore di primitivi) il problema dovrebbe risolversi.
Tutto questo a patto che non mi sia sfuggita l'inizializzazione di head...
Fammi sapere.
Ciao.
P.S.
Azz, Soalle scrivi troppo in fretta :D
Originally posted by "PGI"
Azz, Soalle scrivi troppo in fretta :D
Perché??? ;)
No... comunque ha ragione PGI l'eccezione viene generata prima sempre a causa dell'head a null...
Originally posted by "soalle"
Perché??? ;)
Quando ho iniziato a rispondere il tuo post ancora non c'era, c'ho messo 7 minuti per scrivere in un panegirico quello che tu hai sintetizzato in tre righe! :D
Comunque meglio 2 risposte che nessuna! :D
Ciao.
grazie grazie...mi avete risparmiato un pò di ammttimento...ora mi rimane un problema nel codice ma è di tipo logico, non esegue esattamente quello che voglio .....ma questo lo risolvo in un modo o nell'altro....grazie e...alla prossima ;)
Il null pointer è un errore così detto di "RunTime". Infatti la compilazione avviene correttamente, solo a runtime è possibile scoprirlo ;)
alphacygni
20-03-2003, 15:56
Originally posted by "cn73"
Il null pointer è un errore così detto di "RunTime". Infatti la compilazione avviene correttamente, solo a runtime è possibile scoprirlo ;)
Io direi che e' L'Errore di runtime...;)
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.