Ajuda! Galera alguem pode me ajudar a fazer esse aplicativo

2 respostas
M

Ajuda! Galera alguem pode me ajudar a fazer esse aplicativo?

A Galera eu estou vendo a parte da classe abstrata e consegui com ajuda de alguns colegas fazer tres das quatro questoes que teacher passou, mas estou um pouco confuso nessa. Se alguem souber, fazer teste e implemente para ver se roda…

Eis a questao q nao consegui fazer até agora.

Crie um aplicativo que Solicite o dia, mês e ano de nascimento de um funcionário. Crie uma instancia da classe data com os valores informador anteriormente. Solicite o nome, matricula do funcionário e o salário e instancie um objeto da classe funcionário os dados solicitadas e colocando como data de nascimento o objeto data anteriormente instanciando. Mostrar na tela com joptionPane o nome data nascimento, matricula e salário do funcionário.
Obs: cada campo e uma frase.

Eis as classes que já criei.

class Data{
    private byte dia;
    private byte mes;
    private short ano;
    
    Data (byte _dia, byte _mes, short _ano){
        dia=_dia;
        mes=_mes;
        ano=_ano;
    }
    Data (){
        dia=0;
        mes=0;
        ano=0;
    }
    public void setData(byte x, byte y, short z){
        dia=x;
        mes=y;
        ano=z;
    }
    public String getData(){
        return dia+"/"+mes+"/"+ano;
    }
    public boolean VData(byte a, byte b){
        if ( ( (a>=1) && (a<=31) ) &&
             ( (b>=1) && (b<=12))){
            return true;
        }else{
            return false;
        }
            
            
            }
}
abstract class Pessoa{
        public String nome;
        public int idade;
        public Data nasc;
        public String cpf;
        public String rg;
        
        Pessoa (String no, int i, Data n, String cp, String r){
            nome=no;
            idade=i;
            nasc=n;
            cpf=cp;
            rg=r;
        }
        Pessoa (String x){
            nome=x;
        }
        
        public abstract void setNome(String n);
        public abstract void setIdade(int i);
        public abstract void setNasc(Data na);
        public abstract void setCpf(String cp);
        public abstract void setRg(String r);
        
        public abstract String getNome();
        public abstract int    getIdade();
        public abstract Data   getNasc();
        public abstract String getCpf();
        public abstract String getRg();
           
}
class Funcionario extends Pessoa{
        private int matricula;
        private double salario;
        
        Funcionario (String _nome, int matr, double sal){
            super(_nome);
            matricula=matr;
            salario=sal;
        }
        
        public void setNome(String n){
            nome = n;
        }
        public void setIdade(int i){
            idade=i;
        }
        public void setNasc(Data na){
            nasc=na;
        }
        public void setCpf(String cp){
            cpf=cp;
        }
        public void setRg(String r){
            rg=r;
        }
        public void setMatricula(int mat){
            matricula=mat;
        }
        public void setSalario(double s){
            salario=s;
        }
        
        public String getNome(){
            return nome;
        }
        public int    getIdade(){
            return idade;
        }
        public Data   getNasc(){
            return nasc;
        }
        public String getCpf(){
            return cpf;
        }
        public String getRg(){
            return rg;
        }
        public int getMatricula(){
            return matricula;
        }
        public double getSalario(){
            return salario;
        }
        
    
}

Bom agora se alguem souber como faço a lá de cima, eu serei muito grato.

MigMax.

2 Respostas

M

bem… só umas dicas, olha só… a tua classe abstrata tem métodos getters e setters pros atributos q ela declara, mas ela nao esta implementando tais métodos… td bem, Funcionario os implementa, mas esses métodos eu creio q não vão mudar a implementação… pois é tudo básico, eu iria implementá-los em Pessoa direto… bem, oq tu pode fazer é instanciar uma classe Funcionário, e ir setando os seus atributos, conforme vai lendo do usuário, com JOptionPane.showInputDialog() por exemplo… bem simples… nem GUI tem… hhehehe

M

Mateus, nao teve jeito… eu tive que fazer modificaçoes nas outras classes para poder chamar todos campos.

Olha só como ficou. Bom pelo menos rodou.

import javax.swing.JOptionPane;
class Aplicativo{
    
    public Pessoa Funcionario;
    
    public static void main(String args[]){
       String teste;
        byte diatemp;
        byte mestemp;
        short anotemp;
        
        
        String nomeFunc;
        int matricFunc;
        double salarioFunc;
        
       diatemp= (byte) Integer.parseInt(JOptionPane.showInputDialog("Digite o dia "));
       mestemp= Byte.parseByte(JOptionPane.showInputDialog("Digite o mes "));
       anotemp= Short.parseShort(JOptionPane.showInputDialog("Digite o ano "));
       
       
       Data obj = new Data(diatemp, mestemp, anotemp);
       
       nomeFunc = JOptionPane.showInputDialog("Digite o nome:");
       matricFunc = Integer.parseInt(JOptionPane.showInputDialog("Digite a matricula"));
       salarioFunc = Double.parseDouble(JOptionPane.showInputDialog("Digite o salario"));
       
       Funcionario obj2 = new Funcionario(nomeFunc,matricFunc,salarioFunc);
       obj2.setNasc(obj);
       
       teste = "Nome: " + obj2.getNome()+ "\n";
       teste += "Nascimento: " +obj2.getNasc()+"\n";
       teste += "Matricula: "+ obj2.getMatricula()+"\n";
       teste += "Salario: "+ obj2.getSalario();
       
       JOptionPane.showMessageDialog(null, teste);
       System.exit(0);
    }
}
Criado 16 de junho de 2004
Ultima resposta 17 de jun. de 2004
Respostas 2
Participantes 2