Metodo retorno

3 respostas
A

Conforme o exemplo abaixo, estou com dificultade para criar o metodo aumentar salario com valor fornecido pelo usuario.

Crie uma classe em Java para representar Empregados com as propriedades mat, nome, funcao salario e data_adm. Todas as propriedades devem estar encapsuladas. Nenhum objeto desta classe poderá ser criado sem matrícula. A matrícula será fornecida seqüencialmente a cada empregado criado a partir de zero. Deverão constar também métodos de acesso para cada uma das propriedades definidas.
Crie um método para aumentar salário a partir de um valor percentual recebido e um método chamado toString que retorne uma String com todas as propriedades existentes na classe com seus respectivos valores.

public class Empregado{
	
	private static int mat_aux=0;
	private int mat;
	private String nome;
	private String funcao;
	private double salario;
	private String data_adm;
	
	
	
	public Auxiliar (){
		mat=++mat_aux;
	}


	public Auxiliar(String nome, String funcao, double salario, String dataAdm) {
		this();
		this.nome = nome;
		this.funcao = funcao;
		this.salario = salario;
		data_adm = dataAdm;
	}


	public int getMat() {
		return mat;
	}


	public String getNome() {
		return nome;
	}


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


	public String getFuncao() {
		return funcao;
	}


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


	public double getSalario() {
		return salario;
	}


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


	public String getData_adm() {
		return data_adm;
	}


	public void setData_adm(String dataAdm) {
		data_adm = dataAdm;
	}

	public void AumentarSalario (double percentual){
		percentual=salario*percentual;
	}
	
}
import java.util.*;
public class Programa {
	public static void main (String args []){
	Scanner in = new Scanner (System.in);
	Empregadof1,f2,f3;
	String nome,funcao,data_adm;
	double salario,percentual;
	
	System.out.println("Entre com os dados para o funcionario 1");
	System.out.println ("Entre com o nome:");
	nome=in.nextLine ();
	System.out.println ("Entre com a funcao:");
	funcao=in.next ();
	System.out.println ("Entre com o Salario:");
	salario=in.nextDouble();
	
	System.out.println ("Entre com o Percentual:");
	percentual=in.nextDouble();
	
	
	System.out.println ("Entre com a data de admissao:");
	data_adm=in.next();
	
	f1=new Auxiliar (nome,funcao,salario,data_adm);
	
	System.out.println ("Os dados do funcionario 1 sao:");
	System.out.println ("Matricula:"+f1.getMat());
	System.out.println ("Nome:"+f1.getNome());
	System.out.println ("Funcao:"+f1.getFuncao());
	System.out.println ("Salario:"+f1.getSalario());
	System.out.println ("SalarioAumentado:"+f1.getSalario()*percentual);
	
	System.out.println ("Data de admissao:"+f1.getData_adm());
	
		
	}

}

3 Respostas

ViniGodoy

Se você está aumentando o salário, por que está atribuindo o resultado à variável percentual?

Outra coisa, se esse percentual menor que 100 (como 10%), lembre-se de somar o resultado ao salário.

salario += percentual * salario;
M

Não se esqueca de q se o valor é percentual vc deve dividir por cem antes de multiplicar. Logo deveria ser uma das formas abaixo:

salario = salario * (1+percentual/100)

ou

salario += salario *(percentual /100)
A

Amigos ViniGodoy e melges,
Consegui resolver o problema acima com a ajuda de vcs.

Muito obrigado!!

Criado 8 de outubro de 2011
Ultima resposta 9 de out. de 2011
Respostas 3
Participantes 3