Advertisement
Guest User

Untitled

a guest
Jan 21st, 2019
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.67 KB | None | 0 0
  1. import java.io.*;
  2.  
  3. // DIE KLASSE 'FLUGZEUG' UNTEN EINSETZEN
  4.  
  5. public class FlugzeugTest {
  6.  
  7. public static void main(String args[]) throws IOException {
  8.  
  9. final double initVolumen = 140.0;
  10. final double initFuellstand = 80.0;
  11. final double initReserve = 10.0;
  12. final double initVerbrauch = 7.0;
  13.  
  14. Flugzeug meinFlugzeug = new Flugzeug(initVolumen, initFuellstand, initReserve, initVerbrauch);// HIER EIN
  15. // FLUGZEUG-OBJEKT
  16. // MIT DEN
  17. // HIERÜBER
  18. // ANGEGEBENEN
  19. // ANFANGSWERTEN
  20. // ERZEUGEN
  21.  
  22. System.out.println();
  23. System.out.println("Flugzeug erzeugt mit folgenden Anfangswerten:");
  24. System.out.println(" - Tankvolumen: " + initVolumen + " Tonnen");
  25. System.out.println(" - Fuellstand: " + initFuellstand + " Tonnen");
  26. System.out.println(" - Reserve: " + initReserve + " Tonnen");
  27. System.out.println(" - Fuellstand ohne Reserve: " + meinFlugzeug.fuellstandOhneReserve() + " Tonnen");
  28. System.out.println(" - Verbrauch: " + meinFlugzeug.verbrauch() + " Tonnen/Stunde");
  29.  
  30. BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
  31. int choice = 0;
  32.  
  33. do {
  34.  
  35. System.out.println();
  36. System.out.println("Bitte waehlen:");
  37. System.out.println("(1) Tanken");
  38. System.out.println("(2) Verbrauchen");
  39. System.out.println("(3) Reichweite berechnen");
  40. System.out.println("(0) Ende");
  41.  
  42. choice = Integer.parseInt(in.readLine());
  43. System.out.println();
  44.  
  45. switch (choice) {
  46.  
  47. case 1:
  48. System.out.print("Wie viele Tonnen tanken? ");
  49. // HIER DIE ZU TANKENDE MENGE VON DER TASTATUR EINLESEN UND DIE TANKEN-METHODE
  50. // AUFRUFEN
  51. meinFlugzeug.tanken(Double.parseDouble(in.readLine()));
  52. break;
  53.  
  54. case 2:
  55. System.out.print("Wie viele Tonnen verbrauchen? ");
  56. // HIER DIE ZU VERBRAUCHENDE MENGE VON DER TASTATUR EINLESEN
  57. int rueckgabecode = meinFlugzeug.verbrauchen(Double.parseDouble(in.readLine()));// HIER DIE
  58. // VERBRAUCHEN-METHODE
  59. // AUFRUFEN
  60. System.out.println();
  61. switch (rueckgabecode) {
  62. case 0:
  63. System.out.println("Tank leer");
  64. break;
  65. case 1:
  66. System.out.println("Reserve angebrochen");
  67. break;
  68. case 2:
  69. System.out.println("Tankinhalt ueber Reserve");
  70. break;
  71. }
  72. break;
  73.  
  74. case 3:
  75. double reichweite = meinFlugzeug.reichweite();// HIER DIE REICHWEITEN-METHODE AUFRUFEN
  76. System.out.println("Reichweite: " + reichweite + " Stunden");
  77.  
  78. }
  79.  
  80. System.out.println();
  81. System.out.println(
  82. "Aktueller Fuellstand: " + (meinFlugzeug.fuellstandOhneReserve() + initReserve) + " Tonnen");
  83.  
  84. } while (choice != 0);
  85.  
  86. }
  87.  
  88. }
  89.  
  90.  
  91. class Flugzeug {
  92.  
  93.  
  94. // Attribute
  95. private double tankvolumen, fuellstand, reserve, verbrauch;
  96.  
  97. // Konstruktor
  98. Flugzeug(double tankvolumen, double fuellstand, double reserve, double verbrauch) {
  99. this.tankvolumen = tankvolumen;
  100. this.fuellstand = fuellstand;
  101. this.reserve = reserve;
  102. this.verbrauch = verbrauch;
  103. }
  104.  
  105. // Methoden
  106. double fuellstandOhneReserve() {
  107. return fuellstand - reserve;
  108. }
  109.  
  110. double verbrauch() {
  111. return verbrauch;
  112. }
  113.  
  114. void tanken(double nachfuellvolumen) {
  115. if (nachfuellvolumen >= 0)
  116. fuellstand += nachfuellvolumen;
  117. if (fuellstand > tankvolumen)
  118. fuellstand = tankvolumen;
  119. }
  120.  
  121. int verbrauchen(double verbraucht) {
  122. if (verbraucht >= 0)
  123. fuellstand -= verbraucht;
  124. if (fuellstand < 0)
  125. fuellstand = 0;
  126.  
  127. if (fuellstand >= reserve)
  128. return 2;
  129. else if (fuellstand > 0)
  130. return 1;
  131. else
  132. return 0;
  133. }
  134.  
  135. double reichweite() {
  136. double reichweite = (fuellstand - reserve) / verbrauch;
  137. if (reichweite < 0)
  138. return 0;
  139. else return reichweite;
  140. }
  141. }
  142.  
  143. // HIER DIE KLASSE 'FLUGZEUG' EINSETZEN
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement