Cleanup + Constructors
This commit is contained in:
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
||||
/out/
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
19
src/aquarium/Aquarium.kt
Normal file
19
src/aquarium/Aquarium.kt
Normal 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
32
src/aquarium/main.kt
Normal 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}"
|
||||
)
|
||||
}
|
||||
Reference in New Issue
Block a user