问题:提出一个重复5次并在其中加载3个整数值的结构。仅累加三个值的每个列表中的最大值。
我有一个问题,因为在本练习中没有必要在第二行上放置值2>值1。
fun main(parametro: Array<String>) {
var suma = 0
for(i in 1..5) {
print("Ingrese primer valor:")
val valor1 = readLine()!!.toInt()
print("Ingrese segundo valor:")
val valor2 = readLine()!!.toInt()
print("Ingrese tercer valor:")
val valor3 = readLine()!!.toInt()
suma += when {
valor1 > valor2 && valor1 > valor3 -> valor1
valor2 > valor3 -> valor2
else -> valor3
}
}
println("El valor acumulado de los mayores de cada lista de 3 valores es : $suma")
}
最佳答案
valor1 > valor2 && valor1 > valor3 -> valor1
valor2 > valor3 -> valor2
剩下的就是valor1可能是== valor3,在这种情况下,“返回” valor1或valor3都没有关系。仅当valor2大于valor1和3时,第1行为false,第2行为true。
为了更清楚一点:
Valor1 Valor2 Valor3 Line1 Line2 Result
1 2 3 False False Valor3 = 3
1 3 2 False True Valor2 = 3
3 2 1 True - Valor1 = 3
1 1 2 False False Valor3 = 2
1 2 1 False True Valor2 = 2
2 1 1 True - Valor1 = 2
2 1 2 False False Valor3 = 2
2 2 1 False True Valor2 = 2
1 1 1 False False Valor3 = 1