1 - O array não foi inicializado. Ao fazer v.length dá erro
2 - Esse método não está a criar 10 posições para o array mas a criar uma nova variável v 10 vezes com valores aleatórios
3 - O ciclo for deve ser feito enquanto i for menor e não maior que o tamanho de v
publicclassArray{privateintv[];publicvoidpreencheV(){v=newint[10];//inicializa o array com 10 posiçõesfor(inti=0;i<v.length;i++)// troquei > por <{v[i]=(int)(Math.random()*10);// atribui o valoor aleatório à posição i }}}
D
drmendonca
E quando eu deixo a quantidade de posiçoes do vetor para o usuário definir, como posso fazer?
A
Artur_Martini
Bom dia colega.
Quando você cria um array, sempre deve ser declarado o tamanho, porém tem meios de deixar isso flexível.
Você pode atribuir uma variável ao tamanho do array.
por exemplo:
publicclassExemplo{publicstaticvoidmain(Stringargs[]){Scannerscan=newScanner(System.in);//Aqui é criado um objeto da classe Scanner só para pegar dados do usuário.intposicao=0;// criado a variável posicao do tipo int e inicializada.posicao=scan.nextInt();// agora pegamos o que for digitado e atribuimos a variável posicaointv[]=newv[posicao];// Criado o array do tipo int, com um tamanho aleatório.}}
OBS: tente entender os erros, aquele erro que você viu, significa que esta tentando acessar algo que não existe ou é nulo.