Array required

6 respostas
A

Sou iniciante em programação em Java e estou tentando usar um codigo bem simples de ordenação.Mas ta dando um erro do tipo array required.Alguem sabe o pq desse erro e o q tem de errado neste codigo:

public void OrdenaVetor(Prob Vet_Prob){
                  float Aux = 0;
                  for (int i=0; i < Vet_Prob[i].length;i++){
                        for(int j = i+1;j<Vet_Prob[i].length;j++){
                             if (Vet_Prob[i].MostrarDados() < Vet_Prob[j].MostrarDados()){
                                    Aux = Vet_Prob[i].MostrarDados();
                                    Vet_Prob[i].MostrarDados() = Vet_Prob[j].MostrarDados();
                                    Vet_Prob[j].MostrarDados() = Aux;
                            }
                        }
                   }
    }

[size=“11”][color=“red”]* Editado: Lembre-se de utilizar BBCode em seus códigos - Carneiro[/color][/size] :joia:

6 Respostas

S

O erro está na declaração do método OrdenaVetor;

Faz assim: public void OrdenaVetor(Prob[] Vet_Prob)

A

A

Segui sua dica e corrigiu o erro do método só q agora ta dando o seguinte erro: “AWT-EventQueue-0” java.lang.NullPointerException.
Alguem sabe o q devo fazer pra resolver isso???

S

Faz assim:

public void OrdenaVetor(Prob Vet_Prob){
float Aux = 0;
try {

for (int i=0; i < Vet_Prob[i].length;i++){
for(int j = i+1;j<Vet_Prob[i].length;j++){
if (Vet_Prob[i].MostrarDados() < Vet_Prob[j].MostrarDados()){
Aux = Vet_Prob[i].MostrarDados();
Vet_Prob[i].MostrarDados() = Vet_Prob[j].MostrarDados();
Vet_Prob[j].MostrarDados() = Aux;
} catch (NullPointerException e) {}
}
}
}
}
A

agora dá o seguinte erro: try without ‘catch’ or ‘finaly’.
Será q vc poderia me explicar pra que serve o try - catch pois não o conhecia!!! :oops:

S

O try-catch serve para o tratamento de excepções …no teu caso tinha uma NullPointerException, que tinha de ser tratada. Um exemplo mais concreto de try-catch é o seguinte:

int i = 0;
int a = 2;

try {
int b = a/i;
} catch (ArithmeticException e) {
System.out.println("Não pode dividir por zero!");
}

Ou seja, ele TENTA dividir um número por zero, mas como é impossível em vez do programa sair ele continua correndo dando apenas aquela mensagem.

Quanto ao erro em si que tiveste agora, revê isso porque o catch está presente. A estrutura que tens de seguir para o try - catch é:

try { /aqui dentro o código que gera a excepção/ } catch (Exception e) { /* Código para tratar a excepção*/ }

Criado 8 de junho de 2007
Ultima resposta 9 de jun. de 2007
Respostas 6
Participantes 2