简介:此代码通过使用kotlin语言编写了一个简单的关于长方形、圆、圆柱体和球的相关计算系统,通过提示选择你想要计算的内容,输入必要的参数即可返回相关结果。感兴趣的小伙伴可以参考代码并优化。
fun main() {
var flag = true
tip()
while (flag) {
print("\n"+"请输入要执行的操作代码:")
var index = readLine()
when(index){
"ra" -> {
print("请输入长方形的长: ")
var length = readLine()!!.toDouble()
print("请输入长方形的宽: ")
var wide = readLine()!!.toDouble()
println("长方形的面积是: ${String.format("%.4f",rectangleArea(length!!,wide!!))}")
}
"rp" -> {
print("请输入长方形的长: ")
var length = readLine()!!.toDouble()
print("请输入长方形的宽: ")
var wide = readLine()!!.toDouble()
println("长方形的周长是: ${String.format("%.4f",rectanglePerimeter(length,wide))}")
}
"ca" -> {
print("请输入圆的半径: ")
var radius = readLine()!!.toDouble()
println("圆的面积是: ${String.format("%.4f",circleArea(radius))}")
}
"cp" -> {
print("请输入圆的半径: ")
var radius = readLine()!!.toDouble()
println("圆的面积是: ${String.format("%.4f",circlePerimeter(radius))}")
}
"cya" -> {
print("请输入圆柱体的半径: ")
var radius = readLine()!!.toDouble()
print("请输入圆柱体的高: ")
var high = readLine()!!.toDouble()
println("圆柱体的面积是: ${String.format("%.4f",cylinderArea(radius,high))}")
}
"cyv" -> {
print("请输入圆柱体的半径: ")
var radius = readLine()!!.toDouble()
print("请输入圆柱体的高: ")
var high = readLine()!!.toDouble()
println("圆柱体的体积是: ${String.format("%.4f",cylinderVolume(radius,high))}")
}
"ba" -> {
print("请输入球的半径: ")
var radius = readLine()!!.toDouble()
println("球的面积是: ${String.format("%.4f",ballArea(radius))}")
}
"bv" -> {
print("请输入球的半径: ")
var radius = readLine()!!.toDouble()
println("球的体积是: ${String.format("%.4f",ballVolume(radius))}")
}
"exit" -> flag = false
else -> println("还未录入该几何图形的相关计算 !!!")
}
}
}
fun tip(){
println("""
计算长方形的面积:ra
计算长方形的周长:rp
计算圆的面积:ca
计算圆的周长:cp
计算圆柱体的面积:cya
计算圆柱体的体积:cyv
计算球的面积:ba
计算球的体积:bv
退出:exit
""".trimIndent())
}
//长方形的面积计算
fun rectangleArea(length:Double, width:Double):Double = length * width
//长方形的周长计算
fun rectanglePerimeter(length: Double, wide: Double):Double = 2 * length * wide
//圆的面积计算
fun circleArea(radius:Double): Double = Math.PI * Math.pow(radius, 2.0);
//圆的周长计算
fun circlePerimeter(radius: Double):Double = 2.0 * Math.PI *radius
//圆柱体cylinder的面积计算
fun cylinderArea(radius: Double, height:Double):Double = circlePerimeter(radius) * height + circleArea(radius) * 2.0
//圆柱体的体积计算
fun cylinderVolume(radius: Double, high: Double):Double = circleArea(radius) * high
//球的面积计算
fun ballArea(radius: Double):Double = 4.0 * Math.PI * Math.pow(radius, 2.0)
//球的体积计算
fun ballVolume(radius: Double):Double = (4.0 / 3.0) * Math.PI * Math.pow(radius, 3.0)