Ajuda, para fazer as funçoes

3 respostas
bruunoxxt

será que alguem poderia completar as funções que restam ?

segue abaixo o exercicio: obs. nao eah prova não eah nada escolar, eah apenas um exemplo pra mim tirar uma base,
Programa para FutSal.

Criar uma classe chamada Time para conter:

Atributos de objeto privados:
nomeJogador (String), posicao(int)

Atributos de classe privados:
String[] posicao, String[] nomePosicao

Métodos de objetos públicos:
ocuparPosicao(String nomePosicao) retornando um boolean se a posição está disponível se a posição estiver disponível este método deve ocupar a posição (vetor nomePosicao) com o nome do jogador definido no objeto.
desocuparPosicao() devolver um boolean para informar se a posição foi desocupada ou não. Quando desocupar a posição o vetor de classe nomePosição deve ser marcado com ?livre? na posição que o jogador atuava e retornar true para informar que a posição foi desocupada. Se o jogador não estiver ocupando posição nenhuma este método deve retornar false.
trocaPosicao(Time t2) retornando um boolean se conseguiu fazer a troca da posição dos jogadores. Este método deve trocar a posição do jogador 1 (o que está chamando o método) com o jogador 2 (recebido como parâmetro). Primeiro testar se os dois jogadores são diferentes, se forem iguais deve imprimir que não é possível fazer a troca e retornar false. Se forem diferentes os dois jogadores estiverem ocupando posições então fazer a troca e retornar true. Caso algum jogador não estiver ocupando posição nenhuma então imprimir o nome do jogador que não está ocupando posição e retornar false.

Métodos de classe públicos:
definePosicoes() sem retorno, este método deve ser o primeiro a ser executado dentro da função main e deve criar cada um dos vetores com 5 posições, o vetor posicao deve ser iniciado com os nomes e posições:
0 ? ?goleiro?
1 ? ?fixo?
2 ? ?ala direito?
3 ? ?ala esquerdo?
4 ? ?pivô?
O vetor nomePosicao deve ser iniciado com a palavra ?livre?.
imprimePosicoes () sem retorno. Este método deve imprimir o nome de todas as posições e seus respectivos ocupantes.
getTotalPosicoesDisponiveis() retornando o total de posições disponíveis.

Cada vaga comporta apenas 1 jogador.

Criar os métodos get e set para os atributos privados.

class Time
{
	private String nomeJogador;
	private int posicao;
	private static String[] pos;
	private static String[] nomePosicao;
	
	boolean desocuparPosicao(){ 

		return false;
	}
	boolean trocarPosicao(Time t2){
		return false;
	}
	static void definePosicoes(){ 
		// cria arrays e define seus tamanhos
		Time.nomePosicao = new String[5];
		Time.pos = new String[5];
		
		// definindo o nome das posições
		Time.pos[0] = "Goleiro";
		Time.pos[1] = "Fixo";
		Time.pos[2] = "Ala Direito";
		Time.pos[3] = "Ala Esquerdo";
		Time.pos[4] = "Pivô";
		
		// deixa as posições que não tem jogadores com LIVRE
		for (int i=0; i<Time.nomePosicao.length; i++)
			Time.nomePosicao[i]="vazio";
	}

	boolean ocuparPosicao(/*String nomePosicao**/){
		String n;
		n = JOptionPane.showInputDialog(null,"posição",0);
		this.posicao = Integer.parseInt(n);
		if (this.nomePosicao[this.posicao] == "vazio")
		{
			//vai pedir para ser digitado o nome do jogador
			this.nomeJogador = JOptionPane.showInputDialog(null,"Nome do Jogador",0);
			Time.nomePosicao[this.posicao]=this.nomeJogador;
			System.out.println(Time.nomePosicao[this.posicao]);
			return true;
		}
		return false;
		
	}
	static void imprimePosicoes(){
		// mostra o nome das posições dos jogadores
		System.out.println(" ");                              
		System.out.println(" "+Time.pos[0]);
		System.out.println(" "+Time.pos[1]);
		System.out.println(" "+Time.pos[2]+"");
		System.out.println("    "+Time.pos[3]+"-");
		System.out.println(" "+Time.pos[4]);
		System.out.println(" ");	
	}

	static void getTotalDePosicoes(){
		int total = 0;
		for (int i = 0; i<Time.nomePosicao.length; i++){
			if (Time.nomePosicao[i] == "vazio")
			{
				total++;	
			}
		}
	}
}

3 Respostas

P

mas… qual é sua dúvida??
o que você já fez?

bruunoxxt

Bom o que fiz é o que taah aee,

uma das minhas duvidas eah a função desocuparPosicao()
tem que voltar um um boolean para informar se a posição foi desocupada ou não. Quando desocupar a posição o vetor de classe nomePosição deve ser marcado com ?livre? na posição que o jogador atuava e retornar true para informar que a posição foi desocupada. Se o jogador não estiver ocupando posição nenhuma este método deve retornar false.

eu queria que na função pediC para o usuario se ele qer ou nao tirar um jogador,. mas nao consigo fazer isso ,

tem alguma ideia ?

bruunoxxt

boolean desocuparPosicao(){ String n; n = JOptionPane.showInputDialog(null,"posição",0); this.posicao = Integer.parseInt(n); if (this.nomePosicao[this.posicao] != "vazio") { Time.nomePosicao[this.posicao]="vazio; System.out.println(Time.nomePosicao[this.posicao]); return true; } return false; }

será que assimta certo ? existe outra maneira ?

Criado 26 de setembro de 2008
Ultima resposta 26 de set. de 2008
Respostas 3
Participantes 2