alterar um valor de uma variável de instancia dentro do main
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:
Discussão (2)
Carregando comentários...