Olá
Mais uma vez um iniciante com problemas…
Então, tava eu lá fazendo os exercícios de programação quando me surge o seguinte:
Dentro de uma aplicação de controle de uma academia, teríamos um registro de atletas e lutadores que treinam na academia…
Ou seja:
public class Atleta
{
private int numero, peso, altura;
private boolean temEquipe;
private String nome;
private Data dataNascimento;
public Atleta(int numero, String nome, int peso, int altura, int dia, int mes, int ano)
{
setNome(nome);
setPeso(peso);
setAltura(altura);
setDataNascimento(new Data(dia, mes, ano));
}
public void setPeso(int peso){this.peso = peso;}
public void setAltura(int altura){this.altura = altura;}
public void setNome(String nome){this.nome = nome;}
public void setDataNascimento(Data dataNasc){this.dataNascimento = dataNasc;}
public void setTemEquipe(boolean temEquipe){this.temEquipe = temEquipe;}
public int getPeso(){return this.peso;}
public int getAltura(){return this.altura;}
public int getNumero(){return this.numero;}
public boolean getTemEquipe(){return this.temEquipe;}
public String getNome(){return this.nome;}
public Data getDataNascimento(){return this.dataNascimento;}
}
e também
public class Lutador extends Atleta
{
private String categoria;
public Lutador(int numero, String nome, int peso, int altura, int dia, int mes, int ano)
{
super(numero, nome, peso, altura, dia, mes, ano);
this.defineCategoria();
}
public void defineCategoria()
{
if(this.getPeso() <= 54) this.categoria = "Pluma";
else if(this.getPeso() > 54 && this.getPeso() <= 60) this.categoria = "Leve";
else if(this.getPeso() > 60 && this.getPeso() <= 75) this.categoria = "Meio-leve";
else this.categoria = "Pesado";
}
public void setPeso(int peso)
{
super.setPeso(peso);
this.defineCategoria();
}
public String getCategoria(){return this.categoria;}
}
Ok. Porém o exercício pede que aquele atributo número, seja uma chave primária, ou seja, nenhum atleta terá um número igual ao do outro. Já quebrei minha cabeça pra descobrir como fazer isso, e só consigo pensar em arrays (um array de inteiros para armazenar as chaves já usadas); Só que arrays tem tamanho fixo, teríamos um número de atletas limitados desse jeito…
Enfim, não sei como fazer, se alguém puder ajudar… vlw!