Ajuda Exercicio

Galera…

Preciso apenas de um ajuda para pensar em como resolver.

É um exercicio de faculdade.

Devemos fazer um tela para cadastro de Aluno e professor.
Tenho 3 classe: Pessoa, Aluno e Docente.

Aluno e Docente extends de pessoa.

Preciso criar um vetor para controlar o numero de professor e aluno cadastrado…

Me deram a ideia de instaciar um vetor, mas nao consegui…

Me ajudem por favor.

Nem quero codigos prontos, quero apenas um solução para quebrar a cabeça.
Estou aprendendo swing e awt…
Sim ja sei o que eh array…
O numero de professor ele falou que pode ser ate 100

Vou postar os arquivos:
Main:

[code]import javax.swing.JOptionPane;

public class Main {

public static void main(String[] args) {
	String sair = "Nao";
	while(sair == "Nao"){
		String oOpcao = JOptionPane.showInputDialog(null,"Escolha uma Opção\n\n1 - Cadastrar Aluno\n2 - Cadastrar Docente\n3 - Consultar Aluno\n4 - Consultar Docente\n5 - Listar Todos\n6 - Sair\n\n","Universidade",JOptionPane.QUESTION_MESSAGE);
		int iOpcao = Integer.parseInt(oOpcao);

		switch (iOpcao) {
		case 1:
			String nome = JOptionPane.showInputDialog(null,"Digite o Nome do Aluno","Cadastro Aluno",JOptionPane.QUESTION_MESSAGE);
			int idade = Integer.parseInt(JOptionPane.showInputDialog(null,"Digite a Idade do Aluno","Cadastro Aluno",JOptionPane.QUESTION_MESSAGE));
			double altura = Double.parseDouble(JOptionPane.showInputDialog(null,"Digite a Altura do Aluno","Cadastro Aluno",JOptionPane.QUESTION_MESSAGE));
			double peso = Double.parseDouble(JOptionPane.showInputDialog(null,"Digite o Peso do Aluno","Cadastro Aluno",JOptionPane.QUESTION_MESSAGE));
			String sexo = JOptionPane.showInputDialog(null,"Digite o Sexo do Aluno","Cadastro Aluno",JOptionPane.QUESTION_MESSAGE);
			String ra = JOptionPane.showInputDialog(null,"Digite o Registro Academico do Aluno","Cadastro Aluno",JOptionPane.QUESTION_MESSAGE);
			double nota1 = Double.parseDouble(JOptionPane.showInputDialog(null,"Digite 1ª Nota do Aluno","Cadastro Aluno",JOptionPane.QUESTION_MESSAGE));
			double nota2 = Double.parseDouble(JOptionPane.showInputDialog(null,"Digite 2ª Nota do Aluno","Cadastro Aluno",JOptionPane.QUESTION_MESSAGE));
			
			Aluno cadastro = new Aluno(nome, idade, altura, peso, sexo, ra, nota1, nota2);
			JOptionPane.showMessageDialog(null,cadastro.toSring(), "Aluno", JOptionPane.PLAIN_MESSAGE);
			
			break;

		case 2:
			String nomeProf = JOptionPane.showInputDialog(null,"Digite o Nome do Docente","Cadastro Docente",JOptionPane.QUESTION_MESSAGE);
			int idadeProf = Integer.parseInt(JOptionPane.showInputDialog(null,"Digite a Idade do Docente","Cadastro Docente",JOptionPane.QUESTION_MESSAGE));
			double alturaProf = Double.parseDouble(JOptionPane.showInputDialog(null,"Digite a Altura do Docente","Cadastro Docente",JOptionPane.QUESTION_MESSAGE));
			double pesoProf = Double.parseDouble(JOptionPane.showInputDialog(null,"Digite o Peso do Docente","Cadastro Docente",JOptionPane.QUESTION_MESSAGE));
			String sexoProf = JOptionPane.showInputDialog(null,"Digite o Sexo do Docente","Cadastro Docente",JOptionPane.QUESTION_MESSAGE);
			int funcao = Integer.parseInt(JOptionPane.showInputDialog(null,"Escolha um Função:\n\n1 - Professor\n2 - Pesquisador","Cadastro Docente",JOptionPane.QUESTION_MESSAGE));
			String curso = JOptionPane.showInputDialog(null,"Digite o Curso do Docente","Cadastro Docente",JOptionPane.QUESTION_MESSAGE);
			int situacao = Integer.parseInt(JOptionPane.showInputDialog(null,"Escolha a Situação:\n\n1 - Ativo\n2 - Inativo","Cadastro Docente",JOptionPane.QUESTION_MESSAGE));
			
			Docente cadastroProfessor = new Docente(nomeProf, idadeProf, alturaProf, pesoProf, sexoProf, funcao, curso, situacao);
			JOptionPane.showMessageDialog(null,cadastroProfessor.toSring(), "Professor", JOptionPane.PLAIN_MESSAGE);
			break;

		case 6:
			int qSair = JOptionPane.showConfirmDialog(null,	"Deseja Sair?","Universidade", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);
			if(qSair == 0){
				sair = "Sim";
			} else {
				sair = "Nao";
			}
			break;
			
		default:
			break;
		}
	}
}

}
[/code]
Docente:

public class Docente extends Pessoa {

	//Variaveis
	private String funcao;
	private String curso;
	private String situacao;
	
	public Docente(String nome, int idade, double altura, double peso, String sexo, int funcao, String curso, int situacao) {
		super(nome, idade, altura, peso, sexo);
		setFuncao(funcao);
		setCurso(curso);
		setSituacao(situacao);
	}

	//Metodos Get's e Set's
	public void setFuncao(int funcao){
		if(funcao == 1){
			this.funcao = "Professor";
		} else {
			this.funcao = "Pesquisador";
		}
	}
	public String getFuncao(){
		return this.funcao;
	}

	public void setCurso(String curso){
		this.curso = curso;
	}
	public String getCurso(){
		return this.curso;
	}

	public void setSituacao(int situacao){
		if(situacao == 1){
			this.situacao = "Ativo";
		} else {
			this.situacao = "Inativo";
		}
	}
	public String getSituacao(){
		return this.situacao;
	}
	
	public String toSring(){
		return String.format("Nome: %s\nIdade: %d\nPeso: %.1f\nSexo: %s\nFunção: %s\nCurso: %s\nSituação: %s\n\n", super.getNome(), super.getIdade(), super.getPeso(), super.getSexo(), getFuncao(), getCurso(), getSituacao());
	}

}

Aluno

public class Aluno extends Pessoa {

	//Variaveis
	private String ra;
	private double nota1;
	private double nota2;
	private double media;
	
	public Aluno(String nome, int idade, double altura, double peso, String sexo, String ra, double nota1, double nota2) {
		super(nome, idade, altura, peso, sexo);
		setRa(ra);
		setNota1(nota1);
		setNota2(nota2);
		setMedia(nota1, nota2);
	}

	//Metodos Set's e Get's
	public void setRa(String registroAcademico){
		this.ra = registroAcademico;
	}
	public String getRa(){
		return this.ra;
	}
	
	public void setNota1(double nota){
		this.nota1 = nota;
	}
	public double getNota1(){
		return this.nota1;
	}

	public void setNota2(double nota){
		this.nota2 = nota;
	}
	public double getNota2(){
		return this.nota2;
	}
	
	public void setMedia(double nota1, double nota2){
		this.media = (nota1 + nota2) / 2;
	}
	public double getMedia(){
		return this.media;
	}
	
	public String toSring(){
		return String.format("Nome: %s\nIdade: %d\nAltura: %.2f\nPeso: %.1f\nSexo: %s\nRA: %s\nNota1: %.1f\nNota2: %.1f\nMédia: %.1f\n", super.getNome(), super.getIdade(), super.getAltura(),super.getPeso(), super.getSexo(), getRa(), getNota1(), getNota2(), getMedia());
	}
}

Pessoa

public class Pessoa {

	// Variavel.
	private String nome;
	private int idade;
	private double altura;
	private double peso;
	private String sexo;
	
	public Pessoa(String nome, int idade, double altura, double peso, String sexo) {
		setNome(nome);
		setIdade(idade);
		setAltura(altura);
		setPeso(peso);
		setSexo(sexo);
	}

	// Metodos Set's e Get's.
	public void setNome(String nome){
		this.nome = nome;
	}
	public String getNome(){
		return this.nome;
	}
	
	public void setIdade(int idade){
		this.idade = idade;
	}
	public int getIdade(){
		return this.idade;
	}

	public void setAltura(double altura){
		this.altura = altura;
	}
	public double getAltura(){
		return this.altura;
	}

	public void setPeso(double peso){
		this.peso = peso;
	}
	public double getPeso(){
		return this.peso;
	}

	public void setSexo(String sexo){
		this.sexo = sexo;
	}
	public String getSexo(){
		return this.sexo;
	}
}

 ArrayList[Aluno] aluno =  new ArrayList[Aluno] 

sempre qdo adicionar um aluno la em cima faz o seguinte

 aluno.add(cadastro)

deve ter erro de sintaxe no meu arraylist dai eh so digitar arraylist e dar um ctrl espaço blz?

dai depois pra vc descobri quanto alunos que tem vc da um aluno.size();

ou faz um for(int i =0;i<aluno.size();i++){

guialeixo…

Funcionou, ele começou a contar quantos alunos eu tenho como vc informou…

Porem eu queria saber como faço para trazer as informações novamente. pois vai ter uma hora que vou ter que consultar entende??

e se possivel explicar mais ou menos o que esse codigo faz, eu tendi mais ou menos. é so pra nao ficar com duvidas bobas.

E obrigado ate agora pela ajuda.

utiliza o for do jeito que eu te falei e trabalha com o array la dentro =) dando um
aluno.getNome(); dentro de um JoptionPaneShowMessage…

guialeixo,

Vleuu…
Obrigado…

Qualquer coisa volto…

Viva ao Java…

:stuck_out_tongue:

guialeixo,

estou tentando de varias maneiras eu nao estou conseguindo retornar os valores do arraylist…

essa maneira que vc falou esta dando erro…

ele nao encontrar o getNome()

eu esqueci aqui como faz isso… mas imagina so esse arraylist tem varios objetos do tipo aluno la dentro dai c precisa destrinxar esse objetos pra pdoer usar o getNome() por exemplo.

Usei todas as funções do ctrl+space e nada…

:frowning:

[quote=vcs.vinicius]Usei todas as funções do ctrl+space e nada…

:([/quote]

voce quer que eu faça pra vc?

cara da uma olhada também no for (Aluno aluno : alunos){

mas da uma quebrada de cabeça ai cara

para pegar um objeto de dentro do array voce deve usar o comando get, ex:

//recebe o objeto aluno do indice 10
Aluno a = ArrayAlunos.get(10);

Poste o que você fez e poderemos ajudar.

Mas já adiantando: há um número máximo de alunos/professores?
O que o professor está ensinando no momento? Já aprendeu array?

PS: Não espere por códigos-prontos. Nem sempre conseguirá isso aqui.