package exercicio7;
public class Imovel
{
private String endereco;
private int quantidadeComodos;
private String nomeProprietario;
private double metragem;
public Imovel()
{
}
public String getEndereco()
{
return endereco;
}
public void setEndereco(String endereco)
{
this.endereco = endereco;
}
public int getQuantidadeComodos()
{
return quantidadeComodos;
}
public void setQuantidadeComodos(int quantidadeComodos)
{
this.quantidadeComodos = quantidadeComodos;
}
public String getNomeProprietario()
{
return nomeProprietario;
}
public void setNomeProprietario(String nomeProprietario)
{
this.nomeProprietario = nomeProprietario;
}
public double getMetragem()
{
return metragem;
}
public void setMetragem(double metragem)
{
this.metragem = metragem;
}
public double calcularValorVenal(double valorMetroCidade)
{
double ValorVenal = this.metragem * valorMetroCidade;
return ValorVenal;
}
public double calcularIPTU(double valorVenal, int aliquotaCidade)
{
return this.calcularValorVenal(valorVenal) * aliquotaCidade;
}
}
package exercicio7;
public class Principal
{
public static void main(String[] args)
{
Imovel imovel1 = new Imovel();
imovel1.setEndereco("jj");
imovel1.setMetragem(30);
System.out.println("calculo valor venal: " + imovel1.calcularValorVenal(5.00));
}
}
Pois é, e agora!? Se você não nos disser o que queres fazer fica difícil te ajudar. Qual é a regra de negócio? É um exercício da faculdade (tem enunciado)? Cabe uma classe de tributos? Se pode passar o valor do tributo como um valor literal direto na classe Principal? Muitas questões me aberto, então especifique melhor a questão.
Sim , mas tá estranho , ela deu só um atributo e pede o imposto em cima deste Venal ai , passado por parâmetros. Segue o exercício.
• O valor venal de um imóvel é uma base de seu valor real para calculo de impostos. Para obter seu valor → metragem do imovel * valor do metro2 da cidade
• O IPTU de um imóvel é calculado da seguinte forma → valor venal do imóvel * alíquota da cidade
• Crie uma classe Principal para testar o programa. Crie 3 objetos, um de cada classe.
• O adicional no valor venal do imóvel novo é adicionado depois do cálculo ter sido feito na classe Imóvel. Esse valor é em moeda não em porcentagem.
Que tal assim?
public class Imovel {
/*Campos da classe*/
private static final double aliquotaMunicipal = 9.25;
/*Atributos de instância*/
private int codigoImovel;
private boolean novo = false;
private String endereco;
private short lote;
private short quadra;
private double metragem;
private double valorVenalAtual;
public void setCodigoImovel(int codigoImovel){
this.codigoImovel = codigoImovel;
}
public int getCodigoImovel(){
return codigoImovel;
}
public void setNovo(boolean novo){
this.novo = novo;
}
public boolean isNovo(){
return novo;
}
public void setEndereco(String endereco){
this.endereco = endereco;
}
public String getEndereco(){
return endereco;
}
public void setLote(short lote){
this.lote = lote;
}
public short getLote(){
return lote;
}
public void setQuadra(short quadra){
this.quadra = quadra;
}
public short getQuadra(){
return quadra;
}
public void setMetragem(double metragem){
this.metragem = metragem;
}
public double getMetragem(){
return metragem;
}
public void setValorVenalAtual(double valorVenalAtual){
this.valorVenalAtual = valorVenalAtual;
}
public double getValorVenalAtual(){
return valorVenalAtual;
}
private double getValorMetroQuadrado(){
double valorMetroQuadrado = 0.00;
short zona = (short) (getQuadra() % 3);
switch(zona){
case 0:
valorMetroQuadrado = 563.15;
break;
case 2:
valorMetroQuadrado = 398.10;
break;
case 3:
valorMetroQuadrado = 709.18;
break;
case 5:
valorMetroQuadrado = 880.60;
break;
case 7:
valorMetroQuadrado = 970.04;
break;
default:
valorMetroQuadrado = 521.11;
}
return valorMetroQuadrado;
}
public void calcularValorVenal(){
double valorVenal = 0.00;
valorVenal = this.getMetragem() * this.getValorMetroQuadrado();
if(isNovo())
this.setValorVenalAtual(this.getValorVenalAtual() + valorVenal);
else
this.setValorVenalAtual(valorVenal);
}
public double calcularIPTU(){
return this.getValorVenalAtual() * aliquotaMunicipal / 100;
}
}
import java.text.NumberFormat;
public class Principal {
public static void main(String[] args){
NumberFormat nf = NumberFormat.getCurrencyInstance();
/*Imóvel 01*/
Imovel imovel1 = new Imovel();
imovel1.setCodigoImovel(1);
imovel1.setEndereco("Rua José Bonifácio, 75, Centro, Loanda-PR");
imovel1.setNovo(true);
imovel1.setLote((short) 5);
imovel1.setQuadra((short) 1);
imovel1.setMetragem(54.20);
imovel1.setValorVenalAtual(22595.33);
/*Imóvel 02*/
Imovel imovel2 = new Imovel();
imovel2.setCodigoImovel(2);
imovel2.setEndereco("Avenida Paraná, 2389, Centro, Loanda-PR");
imovel2.setNovo(false);
imovel2.setLote((short) 14);
imovel2.setQuadra((short) 42);
imovel2.setMetragem(115.16);
imovel2.setValorVenalAtual(51881.88);
/*Imóvel 03*/
Imovel imovel3 = new Imovel();
imovel3.setCodigoImovel(3);
imovel3.setEndereco("Rua Natalício Alves, 752, Alto da Glória, Loanda-PR");
imovel3.setNovo(true);
imovel3.setLote((short) 17);
imovel3.setQuadra((short) 103);
imovel3.setMetragem(87.50);
imovel3.setValorVenalAtual(129523.10);
imovel1.calcularValorVenal();
System.out.println("\n\nImóvel: " + imovel1.getCodigoImovel());
System.out.println("Endereço: " + imovel1.getEndereco());
System.out.println("Valor venal: " + nf.format(imovel1.getValorVenalAtual()));
System.out.println("IPTU: " + nf.format(imovel1.calcularIPTU()));
imovel2.calcularValorVenal();
System.out.println("\n\nImóvel: " + imovel2.getCodigoImovel());
System.out.println("Endereço: " + imovel2.getEndereco());
System.out.println("Valor venal: " + nf.format(imovel2.getValorVenalAtual()));
System.out.println("IPTU: " + nf.format(imovel2.calcularIPTU()));
imovel3.calcularValorVenal();
System.out.println("\n\nImóvel: " + imovel3.getCodigoImovel());
System.out.println("Endereço: " + imovel3.getEndereco());
System.out.println("Valor venal: " + nf.format(imovel3.getValorVenalAtual()));
System.out.println("IPTU: " + nf.format(imovel3.calcularIPTU()));
}
}

Eu não entendi muito bem essa parte:
Seu código ficou perfeito, o foda é a professora aceitar a sua resposta, ela é muito chata.