Preciso de ajuda na hora em que o usuario erra o valor

Preciso de uma ajuda ,
No programa que eu estou fazendo o usuario deve colocar somente valores acima de 0 (para a altura )
Só que nao estou conseguindo

    int Jogadores = 10;

String [] nome = new String [Jogadores];

for(int i = 0 ; i < Jogadores ; ++i){
System.out.println("Insira o nome do " + (i+1) + “° jogador .”);
nome [i] = entrada.next();
}

double [] Altura = new double [Jogadores];

for(int i = 0; i < Jogadores; ++i){
System.out.println("Insira a altura do " + (i+1) + “° jogador .”);
Altura [i] = entrada.nextDouble();

}
System.out.println("=========== TIME DE BASQUETE ===========");
for(int i =0; i< Jogadores;i++){
System.out.println(nome[i] +" ---- “+ Altura [i]+” m");
}

    System.out.println("A media das alturas dos jogarores é : ");
    double media ;
    media = Altura [0] + Altura [1] + Altura [2] +Altura [3] +Altura [4] +Altura [5] +Altura [6] +Altura [7] +Altura [8] +Altura [9] ;
    System.out.println(media/10);
   
    Preciso que os valores que o usuario coloque seja maior a 0 na altura
if (alturaDigitada > 0) {
    // está certo, faça o que tem que fazer
} else {
    // não está certo, pede para informar novamente
}
1 curtida

Oi boa tarde , tentei colocar no codigo mas esta dando erro …

Se não postar o código, não dá pra ver o que você errou.

Scanner entrada = new Scanner (System.in);

    int Jogadores = 10;

String [] nome = new String [Jogadores];

for(int i = 0 ; i < Jogadores ; ++i){
System.out.println("Insira o nome do " + (i+1) + “° jogador .”);
nome [i] = entrada.next();
}

double [] Altura = new double [Jogadores];

for(int i = 0; i < Jogadores; ++i){
if(Altura.length>0){
System.out.println("Insira a altura do " + (i+1) + “° jogador .”);

Altura [i] = entrada.nextDouble();
}else(Altura.length<0){
System.out.println(“Reensira o valor”);
Altura [i] = entrada.nextDouble();
}
System.out.println("=========== TIME DE BASQUETE ===========");

for(int i =0; i< Jogadores;i++){
System.out.println(nome[i] +" ---- “+ Altura [i]+” m");
}

    System.out.println("A media das alturas dos jogarores é : ");
    double media ;
    media = Altura [0] + Altura [1] + Altura [2] +Altura [3] +Altura [4] +Altura [5] +Altura [6] +Altura [7] +Altura [8] +Altura [9] ;
    System.out.println(media/10);

São só alguns erros de lógica.

Você tem as seguintes instruções no seu código:

int Jogadores = 10;
// algumas linhas depois
double [] Altura = new double [Jogadores];

Depois você faz if (Altura.length > 0) { Se o array altura foi inicializado com 10 posições, o length dele sempre vai ser > 0.

Veja o exemplo abaixo:

import java.io.PrintStream;
import java.util.Scanner;

public class Programa {

    public static void main(String[] args) {
        Programa programa = new Programa();
        programa.executar();
    }

    private final Scanner entrada = new Scanner(System.in);
    private final PrintStream saida = System.out;

    public void executar() {
        int jogadores = 10;
        String[] nomes = new String[jogadores];
        double[] alturas = new double[jogadores];

        for (int i = 0; i < jogadores; i++) {
            nomes[i] = lerNome(i + 1);
            alturas[i] = lerAltura(i + 1);
        }

        saida.println("=========== TIME DE BASQUETE ===========");
        for (int i = 0; i < jogadores; i++) {
            saida.println(nomes[i] + " ---- " + alturas[i] + " m");
        }

        double media = media(alturas);
        saida.println("A media das alturas dos jogarores é : " + media + " m");
    }

    private String lerNome(int jogador) {
        saida.println("Insira o nome do " + jogador + "° jogador .");
        return entrada.nextLine();
    }

    private double lerAltura(int jogador) {
        while (true) {
            saida.println("Insira a altura do " + jogador + "° jogador .");
            double altura = Double.parseDouble(entrada.nextLine());
            if (altura > 0) {
                return altura;
            }
            saida.println("Reinsira o valor");
        }
    }

    private double media(double[] valores) {
        double soma = 0;
        for (double valor : valores) {
            soma += valor;
        }
        double quantidade = valores.length;
        return soma / quantidade;
    }
}