Cleanup + Constructors

This commit is contained in:
2020-03-03 08:55:19 -05:00
parent 3585879e64
commit 594b8c9234
7 changed files with 52 additions and 0 deletions

1
.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
/out/

19
src/aquarium/Aquarium.kt Normal file
View File

@@ -0,0 +1,19 @@
package aquarium
class Aquarium(var length: Int = 100, var width: Int = 20, var height: Int = 40) {
var volume: Int
get() = width * height * length / 1000
set(value) {
height = (value * 1000) / (width * length)
}
var water = volume * 0.9
constructor(numberOfFish: Int): this() {
val water = numberOfFish * 2000 // cm3
val tank = water + water * 0.1
height = (tank / (length * width)).toInt()
}
}

32
src/aquarium/main.kt Normal file
View File

@@ -0,0 +1,32 @@
package aquarium
fun main(args: Array<String>) {
buildAquarium()
}
private fun buildAquarium() {
val myAquarium = Aquarium()
println(
"Length: ${myAquarium.length}" +
"Width: ${myAquarium.width}" +
"Height: ${myAquarium.height}"
)
myAquarium.height = 80
println("Height: ${myAquarium.height} cm")
println("Volume: ${myAquarium.volume} liters")
val smallAquarium = Aquarium(length=20, width=15, height=30)
println("Small Aquarium Volume: ${smallAquarium.volume} liters")
val myAquarium2 = Aquarium(numberOfFish = 9)
println(
"Aquarium 2: ${myAquarium2.volume} liters with " +
"length ${myAquarium2.length}" +
"width: ${myAquarium2.width}" +
"height: ${myAquarium2.height}"
)
}