Kyaria

Parkhaus Simulation V2

Apr 12th, 2019
11,719
0
Never
2
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Kotlin 3.21 KB | None | 0 0
  1. fun main(args: Array<String>){
  2.  
  3.     var park = Parkhaus()
  4.  
  5.     var park1 = Parkschein(15, 20, 16, 35)
  6.     var park2 = Parkschein(14, 30, 17, 20)
  7.     var park3 = Parkschein(13, 10, 18, 35)
  8.     var park4 = Parkschein(12, 30, 19, 10)
  9.     var park5 = Parkschein(11, 50, 20, 35)
  10.  
  11.     park.parkscheine.add(park1)
  12.     park.parkscheine.add(park2)
  13.     park.parkscheine.add(park3)
  14.     park.parkscheine.add(park4)
  15.     park.parkscheine.add(park5)
  16.  
  17.     var time_kurz = park.kuerzesteParkzeit()
  18.     var time_durch = park.durchschnittlicheParkzeit()
  19.     var einnahmen = park.einnahmen()
  20.  
  21.     println("Kürzeste Parkzeit: $time_kurz Min. (ca. ${time_kurz / 60} Std.), Durchschnittliche Parkzeit: $time_durch Min. (ca. ${time_durch / 60} Std.), Einnahmen: $einnahmen€.")
  22.  
  23.     var welcherBug = park.ueberpruefen()
  24.  
  25.     if(welcherBug)
  26.         println("Alles in Ordnung")
  27.     else
  28.         println("Mind. ein Parkschein ist nicht in Ordnung")
  29.  
  30.     var park6 = Parkschein(13, 0, 12, 0)
  31.     park.parkscheine.add(park6)
  32.  
  33.     welcherBug = park.ueberpruefen()
  34.  
  35.     if(welcherBug)
  36.         println("Alles in Ordnung")
  37.     else
  38.         println("Mind. ein Parkschein ist nicht in Ordnung")
  39.  
  40. }
  41.  
  42. class Uhrzeit(val min: Int = 0,val stu: Int = 0){
  43.  
  44.     val minute: Int = min
  45.     val stunde: Int = stu
  46. }
  47.  
  48.  
  49. class Parkschein(val stuE: Int, val minE: Int, val stuA: Int, val minA: Int) {
  50.  
  51.     val einfahrtZeit = Uhrzeit(minE, stuE)
  52.     var ausfahrtZeit = Uhrzeit(minA, stuA)
  53.  
  54.     fun parkzeit() : Int{
  55.  
  56.         var minute: Int = ausfahrtZeit.minute - einfahrtZeit.minute
  57.         var stunde: Int = ausfahrtZeit.stunde - einfahrtZeit.stunde
  58.  
  59.         return (stunde * 60) + minute
  60.     }
  61.  
  62.     fun angefangendeStunden() : Int{
  63.  
  64.         var tmp: Int = 0
  65.  
  66.         if (einfahrtZeit.stunde < ausfahrtZeit.stunde)
  67.             tmp += (ausfahrtZeit.stunde - einfahrtZeit.stunde)
  68.         else if(einfahrtZeit.stunde  == ausfahrtZeit.stunde)
  69.             tmp += 1
  70.         else
  71.             tmp += 0
  72.  
  73.  
  74.         if(((60 - einfahrtZeit.minute) + ausfahrtZeit.minute) > 60)
  75.             tmp += 1
  76.  
  77.         return tmp
  78.     }
  79.  
  80. }
  81.  
  82. class Parkhaus{
  83.  
  84.     val parkscheine =  arrayListOf<Parkschein>()
  85.     val tarif = 3.5
  86.  
  87.     fun kuerzesteParkzeit(): Int{
  88.  
  89.         var tmp: Int = parkscheine[0].parkzeit()
  90.  
  91.         for ( p in parkscheine) {
  92.  
  93.             if(tmp > p.parkzeit())
  94.                 tmp = p.parkzeit()
  95.         }
  96.  
  97.         return tmp
  98.     }
  99.  
  100.     fun durchschnittlicheParkzeit(): Int{
  101.  
  102.         var tmp: Int = 0
  103.  
  104.         for ( p in parkscheine)
  105.                 tmp += p.parkzeit()
  106.  
  107.         return (tmp / parkscheine.size)
  108.     }
  109.  
  110.     fun einnahmen(): Double{
  111.  
  112.         var tmp: Int = 0
  113.  
  114.         for ( p in parkscheine)
  115.             tmp += p.angefangendeStunden()
  116.  
  117.         return (tarif * tmp)
  118.     }
  119.  
  120.     fun ueberpruefen(): Boolean{
  121.  
  122.         var test: Boolean = true
  123.  
  124.         for ( p in parkscheine){
  125.  
  126.             if(p.einfahrtZeit.stunde > p.ausfahrtZeit.stunde) {
  127.                 test = false
  128.  
  129.             }else if(p.einfahrtZeit.stunde == p.ausfahrtZeit.stunde){
  130.                 if(p.einfahrtZeit.minute > p.ausfahrtZeit.minute)
  131.                     test = false
  132.             }
  133.         }
  134.  
  135.         return test
  136.     }
  137. }
Advertisement
Comments
  • User was banned
  • User was banned
Add Comment
Please, Sign In to add comment