…Boa Tarde!!!Gostaria de ajuda para resolver este problema, pois não sei onde esta o erro!!!
esta dando o seguinte erro no Compilador java.lang.NullPointerException… e não sei porque!!!
o codigo esta logo abaixo!!
public class teste1 {
int[] posicao;
public void teste(){
try{
for(int i=0;i<=20;i++){
posicao[i]=(int) Math.random();
}
}catch(NullPointerException e){
System.out.println(e);
}
}
}
Desde já, muito obrigado!!
Inicialize a variavel.
int[] posicao = new int[20];
você deve inicializar o array antes de usá-lo:
[code] public class teste1 {
int[] posicao;
public void teste(){
posicao = new int[20];
try{
for(int i=0;i<=20;i++){
posicao[i]=(int) Math.random();
}
}catch(NullPointerException e){
System.out.println(e);
}
}
} [/code]
Tem um outro problema ai, se vc inicializar desta forma
int[] posicao = new int[20];
e fizer um for de
for(int i=0;i<=20;i++){
posicao[i]=(int) Math.random();
vai dar exception tb pois seu for vai iterar de 0 a 20 o que da um total de 21 posições e seu array tem somente 20 posições.
mude o for para
for(int i=0;i<20;i++){
posicao[i]=(int) Math.random();
O método Math.random() sorteia um número entre 0 e 1. Ex: 0.8315597754352334
Faça assim:
for(int i=0;i<=20;i++){
int rnd = Math.round(Math.random() * 20);// De preferência, multiplique pela a propriedade [b]length[/b] do vetor.
posicao[i]= rnd;
}
Ok, muito obrigado pela Ajuda!!!
vlw!!