android-studio - 不必放置值2>值1

标签 android-studio kotlin intellij-idea kotlin-coroutines control-flow

问题:提出一个重复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
  • 当且仅当valor1为最高值时,才为true。
  • 如果valor1等于或小于valor2或valor3(或两者),则为假
  • valor2 > valor3 -> valor2
    
  • 如果第1行为false,则valor1必须为<= valor2或valor3(或两者)。
  • 然后,如果valor2> valor3,则它也是> = valor1(因为在第1行中进行了检查)
  • 如果valor2 == valor3,则它们中的任何一个必须为> = valor1,否则Line1将为true。

  • 剩下的就是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
    

    关于android-studio - 不必放置值2>值1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61612066/

    相关文章:

    java - Android Studio LogCat 并不总是在循环内输出字段

    android - 在 Kodein 中传递 lambda 作为参数

    android - Firestore - 如何在 Kotlin 中排除数据类对象的字段

    typescript - 引用路径不使用导入捕获接口(interface) - IntelliJ

    java - 添加discord4j库后Gradle错误

    java - 如何在 fragment 中设置内容 View

    android - 从 Activity 的 onCreate 中的 `launch` block 进行数据库读/写是否安全?

    python - 在 IntelliJ 上配置 Google App Engine Python 运行时

    java - 使用 Java 进行独立原型(prototype)设计

    java - 原因: unable to find valid certification path to requested target