O modelo desenhado para solução foi:
Já a implementação do código baseado no modelo foram as seguintes classes:
Principal.java
public class Principal {
public static void main(String[] args) {
Aluguel aluguel = new Aluguel();
//aluguel.locarImovel();
System.out.println(aluguel.validarLocacao(2500, 10000));
}
}
Imovel.java
public class Imovel {
private int id;
private String descricao;
private double metragem;
private double valorAluguel;
public void cadastrarImovel(){
this.id = Integer.parseInt(JOptionPane.showInputDialog(“Digite o código do imóvel”));
this.descricao = JOptionPane.showInputDialog(“Digite a descrição do imóvel”);
this.metragem = Double.parseDouble(JOptionPane.showInputDialog(“Digite a metragem do imóvel”));
this.valorAluguel = Double.parseDouble(JOptionPane.showInputDialog(“Digite o valor do aluguel do imóvel”));
}
public String imprimirResumoImovel(){
String msg = “Id: ” + this.id + “\n” + “Descrição: ” + this.descricao + “\n”;
msg = “Metragem: ” + this.metragem + “\n” + “Valor Aluguel: ” + this.valorAluguel;
return msg;
}
public void atualizarValorAnual(double percentualAjuste){
this.valorAluguel = valorAluguel * (percentualAjuste/100);
}
public double getValorAluguel(){
return this.valorAluguel;
}
}
Locatario.java
public class Locatario {
private int id;
private String nome;
private int idade;
private double salario;
public void cadastrarLocatario(){
this.id = Integer.parseInt(JOptionPane.showInputDialog(“Digite o código do locatário”));
this.nome = JOptionPane.showInputDialog(“Digite o nome do locatário”);
this.idade = Integer.parseInt(JOptionPane.showInputDialog(“Digite a idade do locatário”));
this.salario = Double.parseDouble(JOptionPane.showInputDialog(“Digite o salário do locatário”));
}
public String imprimirResumoLocatario(){
String msg = “Id: ” + this.id + “\n”;
msg += “Nome: ” + this.nome + “\n”;
msg += “Idade: ” + this.idade + “\n”;
msg += “Salário: ” + this.salario;
return msg;
}
public double getSalario(){
return this.salario;
}
}
Aluguel.java
public class Aluguel {
private Imovel imovel;
private Locatario locatario;
public void locarImovel(){
this.imovel = new Imovel();
imovel.cadastrarImovel();
this.locatario = new Locatario();
locatario.cadastrarLocatario();
if(validarLocacao(this.imovel.getValorAluguel(), this.locatario.getSalario())){
JOptionPane.showMessageDialog(null, “Locação efetuada!”);
}else{
JOptionPane.showMessageDialog(null, “Locação NÃO efetuada!”);
}
}
public boolean validarLocacao(double valorAluguel, double salario){
boolean resultado = false;
double valorReferencia = salario * (1 + 0.3);
resultado = valorAluguel <= valorReferencia;
return resultado;
}
}