Luthien 0 Denunciar post Postado Outubro 18, 2014 nao consigo pensar em uma maneira de fazer isso, já tentei de várias formas, fiz a classe empregado e o main: package br.ufop.ex1; public class Empregado { private String nome, sobrenome, cargo; private double salario; private int coddep,mesAtual,mesAdmissao,mesAniversario; public Empregado(String nome, String sobrenome, String cargo, double salario, int coddep, int mesAtual, int mesAdmissao, int mesAniversario){ setNome(nome); setSobrenome(sobrenome); setCargo(cargo); setSalario(salario); setCoddep(coddep); setMesAtual(mesAtual); setMesAdmissao(mesAdmissao); setMesAniversario(mesAniversario); } public Empregado(){ } public double calculaSalario(int mes){ if(this.mesAniversario == this.mesAtual) salario += 500; if(this.mesAdmissao == this.mesAtual) salario += 250; if(this.mesAtual == 3) salario *= 2.5; return this.salario; } public String toString(){ return "Nome: "+this.nome+"\tSobrenome: "+this.sobrenome+"\nCargo: "+this.cargo+"\nSalario: "+this.salario+"\nCódigo do departamento: " +this.coddep+"\nMês de Aniversário: "+this.mesAniversario+"\nMês de admissão: "+this.mesAdmissao; } public void setNome(String nome){ this.nome = nome; } public String getNome(){ return nome; } public void setSobrenome(String sobrenome){ this.sobrenome = sobrenome; } public String getSobrenome(){ return sobrenome; } public void setCargo(String cargo){ this.cargo = cargo; } public String getCargo(){ return cargo; } public void setSalario(double salario){ this.salario = salario; } public double getSalario(){ return salario; } public void setCoddep(int coddep) { this.coddep = coddep; } public int getCoddep() { return coddep; } public void setMesAtual(int mesAtual){ this.mesAtual = mesAtual; } public int getMesAtual(){ return mesAtual; } public void setMesAdmissao(int mesAdmissao){ this.mesAdmissao = mesAdmissao; } public int getMesAdmissao(){ return mesAdmissao; } public void setMesAniversario(int mesAniversario){ this.mesAniversario = mesAniversario; } public int getMesAniversario(){ return mesAniversario; } } package br.ufop.ex1; import java.util.Scanner; public class MainEmpregado extends Data{ static Scanner in; public static void main(String args[]){ in = new Scanner(System.in); Empregado empregado[]; System.out.println("Informe a quantidade de empregados que deseja cadastrar"); int qtd = in.nextInt(); empregado = new Empregado[qtd]; for(int i = 0; i < qtd; i++){ in.nextLine(); empregado[i] = new Empregado(); System.out.println("Informe o nome do empregado"); empregado[i].setNome(in.nextLine()); System.out.println("Informe o sobrenome do empregado"); empregado[i].setSobrenome(in.nextLine()); System.out.println("Informe o mês de aniversário do empregado"); empregado[i].setMesAniversario(in.nextInt()); in.nextLine(); System.out.println("Informe o mês de admissão do empregado"); empregado[i].setMesAdmissao(in.nextInt()); in.nextLine(); System.out.println("Informe o cargo do empregado"); empregado[i].setCargo(in.nextLine()); System.out.println("Informe o salario mensal do empregado"); empregado[i].setSalario(in.nextDouble()); } System.out.println("CONSULTA SALÁRIO"); double salario[]; salario = new double[qtd]; for(int i = 0; i < qtd; i++){ System.out.println("Digite 0 se deseja prosseguir e -1 para sair"); int resp = in.nextInt(); if(resp == 0){ System.out.println("Informe o mês que deseja verificar o salário do funcionário "+ (i + 1)); empregado[i].setMesAtual(in.nextInt()); salario[i] = empregado[i].calculaSalario(empregado[i].getMesAtual()); } else break; } for(int i = 0; i < qtd; i++){ System.out.println(empregado[i].toString()); } } } tá uma bagunça esse final, tenho q verificar qual vai ser o salário do empregado em determinado mes e calcular o salario a partir disso, mas como posso modificar esse valor do salário? Me ajudem pff, n consigo pensar mais D: Compartilhar este post Link para o post Compartilhar em outros sites
_Isis_ 202 Denunciar post Postado Outubro 20, 2014 Vc usa o método setSalario que vc criou p/ class Empregado. empregado.setSalario(novo_salario) Compartilhar este post Link para o post Compartilhar em outros sites
Luthien 0 Denunciar post Postado Outubro 22, 2014 aah consegui, meu if tava errado: System.out.println("CONSULTA SALÁRIO"); double salario[]; salario = new double[qtd]; for(int i = 0; i < qtd; i++){ System.out.println("Digite 0 se deseja prosseguir e -1 para sair"); int resp = in.nextInt(); if(resp == 0){ System.out.println("Informe o mês que deseja verificar o salário do funcionário "+ (i + 1)); empregado[i].setMesAtual(in.nextInt()); salario[i] = empregado[i].calculaSalario(empregado[i].getMesAtual()); } } for(int i = 0; i < qtd; i++){ System.out.println(empregado[i].toString()); System.out.println("\n"); } obrigada :D Compartilhar este post Link para o post Compartilhar em outros sites