Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Poligno

Sistema acadêmico 2.

Recommended Posts

Olá pessoal,tudo certo?

 

Comecei ver na facul sobre hierarquia e herança.O professor passou um exercício em que se deve fazer um sistema acadêmico com algumas classes e métodos específicos que ele pede.

Uma dessas classes é a classe ListaDePessoas ,é uma array que recebe todas as pessoas envolvidas no sistemas(alunos,professores e funcionários em geral). Um dos métodos solicitados é o método pessoaDoCurso este método consiste em receber como parâmetro uma string que se refere a um curso e procurar todos os objetos da array que são alunos/professores relacionados aquele curso.Eu tentei fazer ele da forma que vcs verão a baixo,porém na linha marcada (ERRO AQUI) eu fiz um if que compara, usando o equalsIgnoreCase(), o parâmetro recebido com o o curso do objeto da casa atual (getCurso()) porém ele da erro,já que o array é do tipo pessoa,que apesar de ser a super classe, n pode executar este método pois ele é da classe filha Aluno,tbm não sei certo o que devo por no return. O que vcs sugerem ? PS: n posso alterar o tipo do método nem nada ,já que ele foi pré definido pelo professor.

 

A baixo está o código com tds as classes:

 

Não fiz nada no main ainda pois primeiro quero deixar todas as classes 'ok' para depois fazer a interface de usuário.

 

 

package uni4;

import java.util.Scanner;

public class Uni4 {

public static void main(String[] args) {
Scanner scan = new Scanner(System.in);


}

}

 

 

package uni4;


public class Pessoa {
/* Está classe possuiu apenas os dados básicos de uma pessoa*/
protected String nome;
protected String endereco;
protected int idade;
}

 

 

package uni4;

public class Funcionario extends Pessoa {
protected boolean presenca; /*Atributo que diz se o funcionario veio trabalhar*/
protected double salario; /*Atributo que recebe o valor salarial*/

public Funcionario(){} /*Construtor normal*/

public Funcionario(String nome,int idade){ /*Construtor Personalizado*/
this.nome=nome;
this.idade=idade;
}

public void setNome(String nome) {
this.nome = nome;
}

public void setEndereco(String end) {
super.endereco=end;
}

public void setIdade(int idade) {
this.idade = idade;
}

public void setPresenca(boolean presenca) {
this.presenca = presenca;
}

/*é um 'get' da presença*/public boolean isPresenca() {
return presenca;
}

public String getNome() {
return nome;
}

public String getEndereco() {
return super.endereco;
}

public int getIdade() {
return idade;
}

/*Método para calcular o salário*/
public double CalcSalario(double s,double hr){
double aux=s*hr;
this.salario=aux;
return this.salario;
}
}

 

 

package uni4;

public class Prof extends Funcionario {
private String curso; //Curso em que o professor da aula
private double ch; //carga horaria
private double salario;

public Prof(){}

public Prof(String n,int id){
super.idade=id;
super.nome=n;
}

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

public void setCh(double ch) {
this.ch = ch;
}

public String getCurso() {
return curso;
}

public double getCh() {
return ch;
}

public void setSalario(double salario) {
System.out.println("Digite quanto o professor recebe por hora");
this.salario = salario;
}

public double getSalario() {
return this.salario;
}

}

 

 

package uni4;

public class Aluno extends Pessoa{
private String curso; /*O curso que o aluno estuda*/
private int numMat; /*O numero da matrícula do aluno*/

/*Construtor personalizado*/
public Aluno(String n,int idade){
this.nome=n;
this.idade=idade;
}

/*Getters e Seters dos atributos*/
public void setNome(String nome) {
this.nome = nome;
}

public void setIdade(int idade) {
this.idade = idade;
}

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

public String getNome() {
return nome;
}

public int getIdade() {
return idade;
}

public String getCurso() {
return curso;
}

}

 

package uni4;

public class ListaDePessoas extends Pessoa {
protected Pessoa[] array = new Pessoa[100];

/*Método para procurar pessoas pelo nome*/
public Pessoa ProcuraPessoa(String nome){
int aux=0;

for(int i=0;i<array.length;i++){
if(nome.equalsIgnoreCase(array.nome)){
System.out.println(nome+" está na posição "+i+" da lista");
//printar a classe e os outros dados do aluno-----------------------------------AQUI
aux =i;
break;
}
else{
return null;
}
}

return array[aux];
}

/*Método que retorna o objeto presente no índice X*/
public Pessoa get(int indice){
if(array[indice]!=null) return array[indice];
else return null;
}

/*Método que retorna a quantidade de pessoas*/
public int quantidade(){
int cont=0;

for(int i=0;i<array.length;i++){
if(array!=null) cont++;
else break;
}

return cont;
}

/*Método que procura a pessoa pelo curso que ela está relacionada (aluno ou professor)*/
public ListaDePessoas pessoasDoCurso(String nomeDoCurso){
Pessoa[] ListaDePessoas = new Pessoa[100];

for(int i=0;i<ListaDePessoas.length;i++){
for(int j=0;j<ListaDePessoas.length;j++){
if(nomeDoCurso.equalsIgnoreCase(array[j].getCurso())){ /* ERRO AQUI*/
ListaDePessoas=array[j];
}
break;
}
}

return ListaDePessoas;
}

}

 

Por hora é isso gurizada!
Agradeço desde já pela força!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.