Kyaria icon

Parkhaus Simulation

Kyaria | PRO | 04/12/19 03:12:59 PM UTC | 0 ⭐ | 11145 👁️ | Never ⏰ | []
Kotlin |

3.49 KB

|

None

|

0 👍

/

0 👎

fun main(args: Array<String>){
 
    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<Parkschein>()
    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
    }
}

Comments

  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎

    
        
  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎