Problema no Codigo calcular salario

4 respostas
A

Definições:

  • Funcionario nao estou conseguindo criar e nao rodar…
    -Herda de Pessoa
    -Será herdada por Funcionario e Auxiliar
    -Terá os seguintes atributos:
    +valorDia
    +cargo
    +carteiraTrabalho (este atributo pertencia à classe Professor, mas com a criação de Funcionario deixa de existir explicitamente em Professor e deve ser criada em Funcionario)
    -Terá os seguintes métodos
    +calculaSalario - Este método deverá receber por argumento um valor inteiro referente ao numero de dias para calcular o salário. Nesta atividade o cálculo de salário para funcionário é basicamente a multiplicação do numero de dias recebido por argumento e o atributo valorDia.

esse é o exercicio… nao estou conseguindo calcula o salario… nas classes…que nao consigo criar funcionario e calcular.

Classe professor

public class Professor extends Pessoa {

	    private String carteiraTrabalho;

    public Professor(String carteiraTrabalho) {
	        this.carteiraTrabalho = carteiraTrabalho;
	    }
	    public String getCarteiraTrabalho() {
	        return carteiraTrabalho;
	    }

	    public void setCarteiraTrabalho(String carteiraTrabalho) {
	        this.carteiraTrabalho = carteiraTrabalho;
	    }
	    
	}

classe pessoa

public class Pessoa {

	    private String nome;
	    private String sobrenome;

	    public Endereco endereco;

	    public Pessoa() {
	        this("", "");
	        System.out.println("Pessoa()");
	     }

    public Pessoa(String nome, String sobrenome) {
	        System.out.println("Pessoa(String nome, String sobrenome)");
	        this.nome = nome;
	        this.sobrenome = sobrenome;
	        this.endereco = new Endereco();
	    }

classe main

public class Main {
	
    public static void main(String[] args) {

        Aluno a1 = new Aluno("3112");
        Pessoa p = new Pessoa();
        Funcionario fun  = new Funcionario();
        
    }

}

classe endereço

public class Endereco {
		    private String logradouro;
	    private String numero;

		    public Endereco() {
	        System.out.println("Endereco()");
	        this.logradouro = "";
	        this.numero = "";
	    }
	    
	    public Endereco(String logradouro, String numero) {
	        System.out.println("Endereco(String logradouro, String numero)");
	        this.logradouro = logradouro;
	        this.numero = numero;
	    }

	    public String getLogradouro() {
	        return logradouro;
	    }
    public void setLogradouro(String logradouro) {
	        this.logradouro = logradouro;
	    }


	    public String getNumero() {
	        return numero;
	    }
	    public void setNumero(String numero) {
	        this.numero = numero;
	    }

	}

classe aluno

public class Aluno  {
	    private String ra;

	    public Aluno() {
	        this("");
	    }
	    
	    public Aluno(String ra) {
	        this.ra = ra;
	    }
	    public Aluno(String nome, String sobrenome, String ra) {
	        super(nome,sobrenome);
	        this.ra = ra;
	    }
	    public Aluno(String nome, String sobrenome, String ra, Endereco endereco) {
	        super(nome,sobrenome, endereco);
	        this.ra = ra;
	    }
	    
	    public String getRa() {
	        return ra;
	    }

	    public void setRa(String ra) {
	        this.ra = ra;
	    }
	    
	    public void inspecionar() {
	        super.inspecionar();
	        System.out.println("RA: " + this.ra);
	    }

	    public void inspecionar(String teste) {
	        System.out.println("exibe teste: " + teste);
	        super.inspecionar();    //Notem que ao contrário
	        System.out.println("RA: " + this.ra);
	    }
	    
	    
	}

classe funcionario nao estou conseguindo rodar…

public class Funcionario extends Pessoa{
	   int funcionario;
	    String nome;
	    String telefone;
	    String endereco;
	    String cpf;
	    double salario;
	    String funcao;

	    public Funcionario(String nome, String telefone, String endereco, String cpf, double salario, String funcao) {
	        System.out.println("Funcionario(Double salario, String funcao,String cpf;)");
	    	this.nome = nome;
	        this.telefone = telefone;
	        this.endereco = endereco;
	        this.cpf = cpf;
	        this.salario = salario;
	        this.funcao = funcao;
	        
	    }
	              
	    public Funcionario ( ) {
	    
	    }

	    public String getCpf() {
	        return cpf;
	    }

	    public void setCpf(String cpf) {
	        this.cpf = cpf;
	    }

	    public String getFuncao() {
	        return funcao;
	    }

	    public void setFuncao(String funcao) {
	        this.funcao = funcao;
	    }

	    public int getFuncionario() {
	        return funcionario;
	    }

	    public void setFuncionario(int funcionario) {
	        this.funcionario = funcionario;
	    }

	    public String getNome() {
	        return nome;
	    }

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

	    public double getSalario() {
	        return salario;
	    }

	    public void setSalario(double salario) {
	        this.salario = salario;
	    }

	    public String getTelefone() {
	        return telefone;
	    }

	    public void setTelefone(String telefone) {
	        this.telefone = telefone;
	    }
	    
	    public String toString() {
	        return "Funcionario = {" + "funcionario=" + funcionario + "nome=" + nome + "telefone=" + telefone + "endereco=" + endereco + "cpf=" + cpf + "salario=" + salario + "funcao=" + funcao + '}';
	    }


public void inspecionar() {
    System.out.print("Funcionario: ");
    System.out.println(this.funcionario);
    System.out.print("Cpf: ");
    System.out.println(this.cpf);
    System.out.print("Salario: ");
    System.out.println(this.salario);
    System.out.print("Funcao: ");
    System.out.println(this.funcao);
}
}

4 Respostas

mausexdd

Amigo , qual ta sendo seu problema especifico , post por partes , e lembre-se iremos te ajudar conforme as duvidas forem surgindo , não olhar seu codigo inteiro e ver oque voce fez ou
deixou de fazer. Coloca ai as duvidas na ordem que a galera vai ajudando , mais uma coisa melhore o titulo dos seus posts , se tu da abrindo um tópico é logico que é para pedir ajuda ,entao seja mais especifico EX: Classe x Nao recebe atributos da classe Y e assim por diante…

Boa sorte

tguerra

Oi, alichicao.

Bom, eu consegui fazer calcular o salário e criar o funcionário que você disse que não conseguia, mas encontrei outros problemas na sua implementação ao longo disso. Tive que ignorar a existência daquela classe Aluno e Professor e foquei apenas em Pessoa e Funcionário.

Na classe Funcionário eu fiz a seguinte mudança: - Adicionei uma método calculaSalario(int valorDias) que retorna um double da operação entre o salário armazenado em Funcionario e o valor de dias trabalhados informado por parâmetro.
public double calculaSalario(int valorDia){
        	 return salario*valorDia;
         }
E a execução de teste para verificar se o Funcionario estava sendo criado corretamente e tendo seu salário calculado corretamente:
public class Main {  
       
     public static void main(String[] args) {  
   
 
         Funcionario fun  = new Funcionario();
         Scanner entrada = new Scanner(System.in); //para leitura do teclado
         
         int valorDia = 0;
         double resultado; //armazena resultado do cálculo do salário
         
         fun.setNome("alichicao");
         fun.setSalario(100.00);
         
         System.out.println("Entre com o número de dias que o funcionário trabalhou: ");
         valorDia = entrada.nextInt();
         resultado = fun.calculaSalario(valorDia);
         System.out.println("Salario calculado = " + resultado);        
     }  
 }

Você não deixou muito claro o que precisava, mas pelo menos agora calcula o salário. Explica melhor o que você precisa e talvez dê pra ajudar mais.

A

Muito obrigado era isso mesmo, te agradeço…

tguerra

Sem problemas, alichicao, só não esquece de marcar como RESOLVIDO teu tópico. ;D

Criado 20 de outubro de 2011
Ultima resposta 21 de out. de 2011
Respostas 4
Participantes 3