Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * To change this license header, choose License Headers in Project Properties.
- * To change this template file, choose Tools | Templates
- * and open the template in the editor.
- */
- package domein;
- /**
- *
- * @author michi
- */
- public class Huis {
- private int oppervlakte;
- private double verkoopPrijs;
- private double belastingVoet;
- private int aantalKamers;
- private char type;
- public int getOppervlakte() {
- return oppervlakte;
- }
- public final void setOppervlakte(int oppervlakte) {
- if (oppervlakte > 0) {
- this.oppervlakte = oppervlakte;
- } else {
- throw new IllegalArgumentException("Het oppervlakte moet groter zijn dan 0!");
- }
- }
- public double getVerkoopPrijs() {
- return verkoopPrijs;
- }
- public final void setVerkoopPrijs(double verkoopPrijs) {
- if (verkoopPrijs > 0 || verkoopPrijs == -1) {
- this.verkoopPrijs = verkoopPrijs;
- } else {
- throw new IllegalArgumentException("De verkoopprijs moet groter zijn dan 0, typ -1 indien de verkoopprijs niet gekend is");
- }
- }
- public double getBelastingVoet() {
- return belastingVoet;
- }
- public final void setBelastingVoet(double belastingVoet) {
- if (belastingVoet < 1 && belastingVoet > 0) {
- this.belastingVoet = belastingVoet;
- } else {
- throw new IllegalArgumentException("De belastingvoet moet tussen 0 en 1 liggen!");
- }
- }
- public int getAantalKamers() {
- return aantalKamers;
- }
- public final void setAantalKamers(int aantalKamers) {
- if (aantalKamers < 0) {
- this.aantalKamers = aantalKamers;
- } else {
- throw new IllegalArgumentException("Het getal moet positief zijn!");
- }
- }
- public char getType() {
- return type;
- }
- public final void setType(char type) {
- if (type == 'h' || type == 'b' || type == 'v' || type == 'r') {
- this.type = type;
- } else {
- throw new IllegalArgumentException("De letter moet h, b, v of r zijn!");
- }
- }
- public Huis(int oppervlakte, int aantalKamers, double belastingVoet) {
- this(oppervlakte, aantalKamers, belastingVoet, -1, 'r');
- }
- public Huis(int oppervlakte, int aantalKamers, double belastingVoet, double verkoopPrijs, char type) {
- setOppervlakte(oppervlakte);
- setAantalKamers(aantalKamers);
- setBelastingVoet(belastingVoet);
- setVerkoopPrijs(verkoopPrijs);
- setType(type);
- }
- public double berekenGrondBelasting() {
- double x = (oppervlakte / 2) * belastingVoet;
- return x;
- }
- private int maximaalAantalPersonen() {
- int x = aantalKamers * 2;
- return x;
- }
- @Override
- public String toString() {
- String Type = "";
- switch (type) {
- case 'h':
- Type = "Half open bebouwing";
- break;
- case 'v':
- Type = "Villa";
- break;
- case 'r':
- Type = "Rijhuis";
- break;
- case 'b':
- Type = "Bungalow";
- break;
- }
- return String.format("%s met volgende eigenschappen:%n"
- + "%10s: %d%n"
- + "%10d kamers%n"
- + "(max %d personen)%n"
- + "en de verkoopprijs is" + "%s" + "%n"
- + "op het huis moet EUR %.2f aan belastingen betaald worden.%n",
- Type, "oppervlakte", oppervlakte, aantalKamers, maximaalAantalPersonen(), verkoopPrijs == -1 ? "onbekend" : "bekend", berekenGrondBelasting());
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement