How to check whether a number is positive/zero/negative without using conditional statements in Kotin

1 Answer

0 votes
fun main() {
    val n: Int = 89

    // create text labels for each possible case
    val result = arrayOf(
        "negative",  // index 0
        "zero",      // index 1
        "positive"   // index 2
    )

    // compute an index without using any conditional statements
    // n.compareTo(0) returns:
    //   -1 for negative
    //    0 for zero
    //   +1 for positive
    // index = 1 + n.compareTo(0)
    val index: Int = 1 + n.compareTo(0)

    // print the classification
    println(result[index])

    /*
      Checks:

      n = -3
      n.compareTo(0) = -1
      index = 1 + (-1) = 0
      result = negative

      n = 0
      n.compareTo(0) = 0
      index = 1 + 0 = 1
      result = zero

      n = 89
      n.compareTo(0) = 1
      index = 1 + 1 = 2
      result = positive
    */
}


/*
run:

positive

*/

 



answered Jun 27 by avibootz

Related questions

...