Advertisement
Guest User

Code

a guest
Nov 14th, 2018
164
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.76 KB | None | 0 0
  1. /*
  2. * To change this license header, choose License Headers in Project Properties.
  3. * To change this template file, choose Tools | Templates
  4. * and open the template in the editor.
  5. */
  6. package domein;
  7.  
  8. /**
  9. *
  10. * @author michi
  11. */
  12. public class Huis {
  13.  
  14. private int oppervlakte;
  15. private double verkoopPrijs;
  16. private double belastingVoet;
  17. private int aantalKamers;
  18. private char type;
  19.  
  20. public int getOppervlakte() {
  21. return oppervlakte;
  22. }
  23.  
  24. public final void setOppervlakte(int oppervlakte) {
  25. if (oppervlakte > 0) {
  26. this.oppervlakte = oppervlakte;
  27. } else {
  28. throw new IllegalArgumentException("Het oppervlakte moet groter zijn dan 0!");
  29. }
  30. }
  31.  
  32. public double getVerkoopPrijs() {
  33. return verkoopPrijs;
  34. }
  35.  
  36. public final void setVerkoopPrijs(double verkoopPrijs) {
  37. if (verkoopPrijs > 0 || verkoopPrijs == -1) {
  38. this.verkoopPrijs = verkoopPrijs;
  39. } else {
  40. throw new IllegalArgumentException("De verkoopprijs moet groter zijn dan 0, typ -1 indien de verkoopprijs niet gekend is");
  41. }
  42. }
  43.  
  44. public double getBelastingVoet() {
  45. return belastingVoet;
  46. }
  47.  
  48. public final void setBelastingVoet(double belastingVoet) {
  49. if (belastingVoet < 1 && belastingVoet > 0) {
  50. this.belastingVoet = belastingVoet;
  51. } else {
  52. throw new IllegalArgumentException("De belastingvoet moet tussen 0 en 1 liggen!");
  53. }
  54. }
  55.  
  56. public int getAantalKamers() {
  57. return aantalKamers;
  58. }
  59.  
  60. public final void setAantalKamers(int aantalKamers) {
  61. if (aantalKamers < 0) {
  62. this.aantalKamers = aantalKamers;
  63. } else {
  64. throw new IllegalArgumentException("Het getal moet positief zijn!");
  65. }
  66.  
  67. }
  68.  
  69. public char getType() {
  70. return type;
  71. }
  72.  
  73. public final void setType(char type) {
  74. if (type == 'h' || type == 'b' || type == 'v' || type == 'r') {
  75. this.type = type;
  76. } else {
  77. throw new IllegalArgumentException("De letter moet h, b, v of r zijn!");
  78. }
  79. }
  80.  
  81. public Huis(int oppervlakte, int aantalKamers, double belastingVoet) {
  82.  
  83. this(oppervlakte, aantalKamers, belastingVoet, -1, 'r');
  84.  
  85. }
  86.  
  87. public Huis(int oppervlakte, int aantalKamers, double belastingVoet, double verkoopPrijs, char type) {
  88. setOppervlakte(oppervlakte);
  89. setAantalKamers(aantalKamers);
  90. setBelastingVoet(belastingVoet);
  91. setVerkoopPrijs(verkoopPrijs);
  92. setType(type);
  93.  
  94. }
  95.  
  96. public double berekenGrondBelasting() {
  97. double x = (oppervlakte / 2) * belastingVoet;
  98. return x;
  99. }
  100.  
  101. private int maximaalAantalPersonen() {
  102. int x = aantalKamers * 2;
  103. return x;
  104. }
  105.  
  106. @Override
  107. public String toString() {
  108. String Type = "";
  109. switch (type) {
  110. case 'h':
  111. Type = "Half open bebouwing";
  112. break;
  113. case 'v':
  114. Type = "Villa";
  115. break;
  116. case 'r':
  117. Type = "Rijhuis";
  118. break;
  119. case 'b':
  120. Type = "Bungalow";
  121. break;
  122. }
  123.  
  124. return String.format("%s met volgende eigenschappen:%n"
  125. + "%10s: %d%n"
  126. + "%10d kamers%n"
  127. + "(max %d personen)%n"
  128. + "en de verkoopprijs is" + "%s" + "%n"
  129. + "op het huis moet EUR %.2f aan belastingen betaald worden.%n",
  130. Type, "oppervlakte", oppervlakte, aantalKamers, maximaalAantalPersonen(), verkoopPrijs == -1 ? "onbekend" : "bekend", berekenGrondBelasting());
  131. }
  132.  
  133. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement