Dúvidas com Java

4 respostas
Thiago_Java08
Estou começando java e estou tentando a montar um programa para exibir vários numeros aleatórios, porém preciso apresentar qual é o menor deles... Pelo que o professor me passou e pelo que eu sei de Portugol elaborei isso:
[code]public class MenorNum {

    public static void main(String [] args) {
    	
    	double vetor[] = new double [14],vetor2[] = new double [14],  aux=0;
    	
    	int i, j=0;
    	
    	for (i=0;i<vetor.length;i++)
    		vetor[i] =  Math.random();
    		j=i;
    		vetor2[j] = vetor [i];
    	
    		if (i>1)
    	
    		while (vetor[i]<vetor[j-1]){
    			aux = vetor[i];
    			j=j-1;
    			
    		}j=0;
    		
    		System.out.print (aux);
    		
    }
    
    
}

porém quando executo exibe a seguinte mensagem:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 14
at MenorNum.main(MenorNum.java:14)

Process completed.
que eu também não entendi direito o que significa!!!
Me desculpem pelo tamanho da mensagem mais será que alguêm sabe corrigir isso????

4 Respostas

S

Essa é uma exception gerada quando você tenta acessar uma posição do vetor que não existe, e no caso em algum momento seu programa acessa a posição 14 [sendo a ultima 13].

S

Eu fiz assim, mas deve ter jeito melhor: 8)

public class MenorNum {

    public static void main(String [] args) {
    	int vetor[] = new int [14]; 
            int menorValor=0;
    	
    	for (int i=0; i<vetor.length; i++) {
    	    vetor[i] =  (int)(Math.random()*10000);
                if (i == 0)
                    menorValor = vetor[i];
               else
                   if (vetor[i] <= menorValor)
                      menorValor = vetor[i];
            
               System.out.println((i+1) + "o valor: " + vetor[i]);
         }
         System.out.print ("O menor valor eh: " + menorValor);
    		
    }
    
    
}
U

Cara, pense assim…:
Gere o primeiro número aleatório e guarde ele como o menor. (Oq não deixa de ser verdade, ele é o único que vc tem )
Depois, para cada número X aleatório que vc gerar, verifique se X é menor que MENOR, se for, guarde X como o menor… sacou?!

Taí a lógica, é só passar pro código… :wink:

PS.: Pra que esse vetor? Vc precisa guardar os números gerados?

[]s

Thiago_Java08

Nossa vocês são Feras mesmos!!!
Muito Obrigado pela dica… Se não fosse a ajuda de vocês aqui no forum não sei o que seria de mim!!!
Obrigado :smiley: :smiley:

Criado 2 de abril de 2008
Ultima resposta 2 de abr. de 2008
Respostas 4
Participantes 3