So iniciante em java e estou com dificulade em resolver este problema

O Midville Park Distrit mantem registros contendo informações sobre os jogadores de seus times de futebol. cada registro contem o primeiro nome, sobrenome e o numero de time de cada jogador. os times são:
Numero do time Nome do time
1 Goal getters
2 The Force
3 Top Guns
4 Shooting Stars
5 Midfield Monsters

faca o design de um programa que aceite os dados dos jogadores e que crie um relatório que liste cada jogador e o numero e o nome de seu time.

package exer4a;

import java.util.Scanner;

public class Exer4a {

public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    String nome;
    String nomeTime[] = {"Goal Getters", "The Force", "Top Guns", "Shooting Stars", "Midfield Monsters"};
   String sobrenome[] = new String[5];
    String nomeJ[] = new String[2];
    int numeroTime;
    int sub;
    System.out.println("Digite o número do time:");
    numeroTime = sc.nextInt();
    while (numeroTime != -1) {
        sub = 0;
        while (sub < nomeJ.length) {
            System.out.println("Digite o nome do jogador:");
            nomeJ[sub] = sc.next();
            sub++;
        }
        nomeTime[numeroTime] = nomeTime[numeroTime] + 1;

        
    }
   
   numeroTime=0;
   
        while (numeroTime<5) {
            System.out.println("" + nomeTime[numeroTime]);
            
            numeroTime++;
        }
       
    }

}

qual o problema?

está estourando erros, ou algum resultado não saiu como esperado?

Use orientação a objetos
Crie uma classe com o nome de “Jogador”, com os atributos nome, sobrenome, time e um Enum com esses 5 valores

O resultado náo sai como o esperado

Não sei se entendi bem seu código, mas, de qualquer forma, achei meio estranho os whiles que você usou.

Minha dica é: Comece seu programa oferecendo a opção de cadastrar um novo jogador, exibir uma lista de todos os cadastros e uma opção para sair do programa. Poderia ser mais ou menos assim:

public class Exer4a {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int opcao= 0;
        
        while (opcao != 3) {
            System.out.println( "Digite a operação que deseja realizar\n"
                              + "1. Cadastro de jogador\n"
                              + "2. Exibir relatório de cadastros\n"
                              + "3. Sair" );
            
            opcao = sc.nextInt();     
        }
    }
}

Você não precisa colocar outro while dentro deste que mostrei exceto quando for exibir os jogadores cadastrados.

Veja se isso te dá uma luz para prosseguir.

pode elaborar o mesmo exercicio desta maneira nao sei se é a mais adquada
package exer4a;

import java.util.Scanner;

public class Exer4a {

public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    String nome;
    String NomeTime[] = {"Goal Getters", "The Force", "Top Guns", "Shooting Stars", "Midfield Monsters"};
    String NomeSobrenome[][] = new String[23][10];

    int numero;
    int sub;
    System.out.println("Digite o número do time:");
    numero = sc.nextInt();

    while (numero != -1) {
        if (numero == 0) {
            for (sub = 0; sub < NomeSobrenome.length; sub++) {
                for (sub = 0; sub < NomeSobrenome.length; sub++) {
                    System.out.println("Digite o nome do jogador:");
                    NomeSobrenome[sub][0] = sc.next();

                    System.out.println("Digite o sobrenome do jogador:");
                    NomeSobrenome[sub][1] = sc.next();
                }

            }
        } else if (numero == 1) {
            for (sub = 0; sub < NomeSobrenome.length; sub++) {
                for (sub = 0; sub < NomeSobrenome.length; sub++) {
                    System.out.println("Digite o nome do jogador:");
                    NomeSobrenome[sub][2] = sc.next();

                    System.out.println("Digite o sobrenome do jogador:");
                    NomeSobrenome[sub][3] = sc.next();
                }

            }
        } else if (numero == 2) {
            for (sub = 0; sub < NomeSobrenome.length; sub++) {
                for (sub = 0; sub < NomeSobrenome.length; sub++) {
                    System.out.println("Digite o nome do jogador:");
                    NomeSobrenome[sub][4] = sc.next();

                    System.out.println("Digite o sobrenome do jogador:");
                    NomeSobrenome[sub][5] = sc.next();
                }

            }
        } else if (numero == 3) {
            for (sub = 0; sub < NomeSobrenome.length; sub++) {
                for (sub = 0; sub < NomeSobrenome.length; sub++) {
                    System.out.println("Digite o nome do jogador:");
                    NomeSobrenome[sub][6] = sc.next();

                    System.out.println("Digite o sobrenome do jogador:");
                    NomeSobrenome[sub][7] = sc.next();
                }

            }
        } else if (numero == 4) {
            for (sub = 0; sub < NomeSobrenome.length; sub++) {
                for (sub = 0; sub < NomeSobrenome.length; sub++) {
                    System.out.println("Digite o nome do jogador:");
                    NomeSobrenome[sub][8] = sc.next();

                    System.out.println("Digite o sobrenome do jogador:");
                    NomeSobrenome[sub][9] = sc.next();
                }

            }
        }

        System.out.println("Digite o número do time:");
        numero = sc.nextInt();
    }
    System.out.println("Digite o número do time que queira imprimir ou -1 para sair:");
    int numero1 = sc.nextInt();
    while (numero1 != -1) {

        if (numero1 == 0) {
            for (sub = 0; sub < NomeSobrenome.length; sub++) {
                for (sub = 0; sub < NomeSobrenome.length; sub++) {
                    System.out.println(" " + numero1 + " " + NomeTime[numero1] + " " + NomeSobrenome[sub][0] + " " + NomeSobrenome[sub][1]);
                }
            }

        } else if (numero1 == 1) {
            for (sub = 0; sub < NomeSobrenome.length; sub++) {
                for (sub = 0; sub < NomeSobrenome.length; sub++) {
                    System.out.println(" " + numero1 + " " + NomeTime[numero1] + " " + NomeSobrenome[sub][2] + " " + NomeSobrenome[sub][3]);
                }
            }

        } else if (numero1 == 2) {
            for (sub = 0; sub < NomeSobrenome.length; sub++) {
                for (sub = 0; sub < NomeSobrenome.length; sub++) {
                    System.out.println(" " + numero1 + " " + NomeTime[numero1] + " " + NomeSobrenome[sub][4] + " " + NomeSobrenome[sub][5]);
                }
            }

        } else if (numero1 == 3) {
            for (sub = 0; sub < NomeSobrenome.length; sub++) {
                for (sub = 0; sub < NomeSobrenome.length; sub++) {
                    System.out.println(" " + numero1 + " " + NomeTime[numero1] + " " + NomeSobrenome[sub][6] + " " + NomeSobrenome[sub][7]);
                }
            }

        } else if (numero1 == 4) {
            for (sub = 0; sub < NomeSobrenome.length; sub++) {
                for (sub = 0; sub < NomeSobrenome.length; sub++) {
                    System.out.println(" " + numero1 + " " + NomeTime[numero1] + " " + NomeSobrenome[sub][8] + " " + NomeSobrenome[sub][9]);
                }
            }

        }
        System.out.println("Digite o número do time que queira imprimir ou -1 para sair:");
        numero1 = sc.nextInt();
    }
}

}

1 curtida

Seu código ficou gigante!!! Mas rodei aqui e parece que tá funcionando direitinho.

Nesse exercicio vc pode usar ArrayList?

vou investigar o ArrayList e depois retorno ao problema.