GUJ Discussões   :   últimos tópicos   |   categorias   |   GUJ Respostas

Time de Futsal


#1

Boa noite!
Preciso criar um sisteminha de futsal onde o usuário (treinador) vai dispor de uma lista de dez jogadores (array). Os jogadores serão apresentados um por um e o treinador dirá se ele é titular ou não. No final serão apresentados devidamente separados os 5 jogadores titulares e os 5 jogadores reserva. O sistema não precisa ser orientado a objetos pois estou em fase de aprendizagem. Estou conseguindo chegar até determinada parte. mas aí travo e não consigo terminar o exercício.


#2

Oi,

Coloque até onde você fez.. que poderemos ajuda-lo.

Tchauzin!


#3

Boa noite!
Segue o código até onde consegui:

package time.jogadores;
import java.util.Scanner;
public class Time {
	public static void main(String[] args) {
		String jogadores []= {"Regis","Elias","Ronaldo","Assis",
				"Pisquila","Zói","Lucas","Mateus",
				"Pachecão","Belizardo"};
		String titulares [] = new String[5];
		String reservas [] = new String[5];
		for (int i = 0;i<jogadores.length;i++){
			Scanner tit = new Scanner(System.in);
			System.out.println(jogadores[i]);
			System.out.println("Informe T para Titular e R para Reserva:");
			String condicao = tit.nextLine();
			if (jogadores[i]== "T"){
				for (int t = 0;t<titulares.length;t++){
					titulares[t]=jogadores[i];
				}
			}
			if (jogadores[i]== "R"){
				for (int r = 0;r<reservas.length;r++){
					reservas[r]=jogadores[i];
				}
			}
		}
		for (int t = 0;t<titulares.length;t++){
			System.out.println(titulares[t]);
		}
		for (int r = 0;r<titulares.length;r++){
			System.out.println(reservas[r]);
		}
	}
}

Muito Obrigado>


#4

Oi,

Sempre que for postar um código, coloque ele entre as tags

, ok?
O problema é que você fez um FOR para armazenar os jogadores titulares e outro para os reservas. Sendo que adicionou em todos as posições o mesmo jogador.
Olha:
[code]for (int t = 0;t<titulares.length;t++){   
     titulares[t]=jogadores[i];   
}[/code]
Ele ficou nesse FOR preenchendo todos os jogadores titulares com o primeiro nome Regis.
Dei uma melhorada no código (se me permite), para ver se você conseguirá melhorar sua logica, ok?
[code]String jogadores []= {"Regis","Elias","Ronaldo","Assis",
			"Pisquila","Zói","Lucas","Mateus",
			"Pachecão","Belizardo"};
String titulares [] = new String[5];
String reservas [] = new String[5];
int
conta_titulares = 0,
conta_reservas = 0;
for (int i = 0;i<jogadores.length;i++){
     Scanner tit = new Scanner(System.in);
     System.out.println(jogadores[i]);
     System.out.println("Informe T para Titular e R para Reserva:");
     String condicao = tit.nextLine();
     if (condicao.equalsIgnoreCase("T") && conta_titulares < 4){				
          titulares[conta_titulares]=jogadores[i];
          conta_titulares++;
     }
     else if (condicao.equalsIgnoreCase("R") && conta_reservas < 4){				
          reservas[conta_reservas]=jogadores[i];
          conta_reservas++;
     }
}
for (int t = 0;t<titulares.length;t++){
     System.out.println("Titulares: "+titulares[t]);
}
for (int r = 0;r<titulares.length;r++){
     System.out.println("Reservas: "+reservas[r]);
}

Tchauzin!


#5

Bom dia Lina!!

Muito obrigado pelas orientações do fórum e pela resolução do problema.

Estudei seu código hoje e aprendi sobre o método equalsIgnoreCase. Alterei o trecho ...conta_titulares < 4 para

...conta_titulares <= 4

para imprimir os cinco elementos de cada array.

Forte Abraço.


#6

Oi,

Realmente o correto seria <= 4 !
Fico feliz em ter ajudado...

Edit seu primeiro post e coloque a tag [RESOLVIDO] na frente, ok?

Tchauzin!


#7