fun main(args: Array){ var park = Parkhaus() var park1 = Parkschein(15, 20, 16, 35) var park2 = Parkschein(14, 30, 17, 20) var park3 = Parkschein(13, 10, 18, 35) var park4 = Parkschein(12, 30, 19, 10) var park5 = Parkschein(11, 50, 20, 35) park.parkscheine.add(park1) park.parkscheine.add(park2) park.parkscheine.add(park3) park.parkscheine.add(park4) park.parkscheine.add(park5) var time_kurz = park.kuerzesteParkzeit() var time_durch = park.durchschnittlicheParkzeit() var einnahmen = park.einnahmen() println("Kürzeste Parkzeit: $time_kurz Min. (ca. ${time_kurz / 60} Std.), Durchschnittliche Parkzeit: $time_durch Min. (ca. ${time_durch / 60} Std.), Einnahmen: $einnahmen€.") var welcherBug = park.ueberpruefen() if(welcherBug) println("Alles in Ordnung") else println("Mind. ein Parkschein ist nicht in Ordnung") var park6 = Parkschein(13, 0, 12, 0) park.parkscheine.add(park6) welcherBug = park.ueberpruefen() if(welcherBug) println("Alles in Ordnung") else println("Mind. ein Parkschein ist nicht in Ordnung") } class Uhrzeit(val min: Int = 0,val stu: Int = 0){ val minute: Int = min val stunde: Int = stu } class Parkschein(val stuE: Int, val minE: Int, val stuA: Int, val minA: Int) { val einfahrtZeit = Uhrzeit(minE, stuE) var ausfahrtZeit = Uhrzeit(minA, stuA) fun parkzeit() : Int{ var tmp: Int var minute: Int var stunde: Int if (einfahrtZeit.stunde <= ausfahrtZeit.stunde) tmp = (ausfahrtZeit.stunde - einfahrtZeit.stunde) else tmp = (24 - einfahrtZeit.stunde) + ausfahrtZeit.stunde stunde = tmp minute = ausfahrtZeit.minute - einfahrtZeit.minute tmp = 0 return (stunde * 60) + minute } fun angefangendeStunden() : Int{ var tmp: Int = 0 if (einfahrtZeit.stunde < ausfahrtZeit.stunde) tmp += (ausfahrtZeit.stunde - einfahrtZeit.stunde) else if(einfahrtZeit.stunde == ausfahrtZeit.stunde) tmp += 1 else tmp += ((24 - einfahrtZeit.stunde) + ausfahrtZeit.stunde) if(((60 - einfahrtZeit.minute) + ausfahrtZeit.minute) > 60) tmp += 1 return tmp } } class Parkhaus{ val parkscheine = arrayListOf() val tarif = 3.5 fun kuerzesteParkzeit(): Int{ var tmp: Int = parkscheine[0].parkzeit() for ( p in parkscheine) { if(tmp > p.parkzeit()) tmp = p.parkzeit() } return tmp } fun durchschnittlicheParkzeit(): Int{ var tmp: Int = 0 for ( p in parkscheine) tmp += p.parkzeit() return (tmp / parkscheine.size) } fun einnahmen(): Double{ var tmp: Int = 0 for ( p in parkscheine) tmp += p.angefangendeStunden() return (tarif * tmp) } fun ueberpruefen(): Boolean{ var test: Boolean = true for ( p in parkscheine){ if(p.einfahrtZeit.stunde > p.ausfahrtZeit.stunde) { test = false }else if(p.einfahrtZeit.stunde == p.ausfahrtZeit.stunde){ if(p.einfahrtZeit.minute > p.ausfahrtZeit.minute) test = false } } return test } }