So iniciante em java e estou com dificulade em resolver este problema
7 respostas
C
Cawende
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 {
publicstaticvoidmain(String[]args){Scannersc=newScanner(System.in);Stringnome;StringnomeTime[]={"Goal Getters","The Force","Top Guns","Shooting Stars","Midfield Monsters"};Stringsobrenome[]=newString[5];StringnomeJ[]=newString[2];intnumeroTime;intsub;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++;}}}
está estourando erros, ou algum resultado não saiu como esperado?
igor_ks
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
C
Cawende
O resultado náo sai como o esperado
wldomiciano
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:
publicclassExer4a{publicstaticvoidmain(String[]args){Scannersc=newScanner(System.in);intopcao=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.
C
Cawende1 like
pode elaborar o mesmo exercicio desta maneira nao sei se é a mais adquada
package exer4a;
import java.util.Scanner;
public class Exer4a {
publicstaticvoidmain(String[]args){Scannersc=newScanner(System.in);Stringnome;StringNomeTime[]={"Goal Getters","The Force","Top Guns","Shooting Stars","Midfield Monsters"};StringNomeSobrenome[][]=newString[23][10];intnumero;intsub;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();}}}elseif(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();}}}elseif(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();}}}elseif(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();}}}elseif(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:");intnumero1=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]);}}}elseif(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]);}}}elseif(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]);}}}elseif(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]);}}}elseif(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();}}
}
wldomiciano
Seu código ficou gigante!!! Mas rodei aqui e parece que tá funcionando direitinho.
Nesse exercicio vc pode usar ArrayList?
C
Cawende
vou investigar o ArrayList e depois retorno ao problema.