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