Alterar métodos

Como posso alterar todos os métodos para que o salario não possa ser menor que 1500 e a matricula não possa ser negativa? consegui apenas dos que recebem essas variáveis como parâmetro.

package Parte03;

public class Funcionario {
private int matricula;
private String nome;
private int idade;
private String cargo;
private float salario;

public Funcionario() {
	setSalario(1500);
}
public Funcionario(String n, int i) {
	setNome(n);
	setIdade(i);
	setSalario(1500);
	
	
	
}
public Funcionario(int m, String n, float s) {
	setMatricula(m);
	setNome(n);
	setSalario(s);
	if(s<1500) {
		setSalario(1500);
	}
	if(m<0) {
		System.out.println("Erro, matrícula negativa");
		setMatricula(0);
	}
}


public int getMatricula() {
	return matricula;
}
public void setMatricula(int matricula) {
	this.matricula = matricula;
}
public String getNome() {
	return nome;
}
public void setNome(String nome) {
	this.nome = nome;
}
public int getIdade() {
	return idade;
}
public void setIdade(int idade) {
	this.idade = idade;
}
public String getCargo() {
	return cargo;
}
public void setCargo(String cargo) {
	this.cargo = cargo;
}
public float getSalario() {
	return salario;
}
public void setSalario(float salario) {
	this.salario = salario;
}

public static void main(String[] args) {

Funcionario f = new Funcionario();
f.setMatricula(-12);


System.out.println(f.getMatricula());

}

}

Você pode lançar um erro toda vez que alguém tentar definir um valor inválido:

private static final float MINIMO_SALARIO_PERMITIDO = 1500F;

public void setMatricula(int matricula) {
    if (matricula < 0) {
        throw new IllegalArgumentException("A matrícula não pode ser negativa: " + matricula);
    }

    this.matricula = matricula;
}

public void setSalario(float salario) {
    if (salario < MINIMO_SALARIO_PERMITIDO) {
        throw new IllegalArgumentException("O salário não pode ser menor que " + MINIMO_SALARIO_PERMITIDO + ": " + salario);
    }

    this.salario = salario;
}
1 curtida

Obrigado, é uma boa ideia. :smiley: