【问题标题】:How to define Long Long data type in kotlin?如何在 kotlin 中定义 Long Long 数据类型?
【发布时间】:2018-04-04 09:38:21
【问题描述】:
fun main(args: Array<String>) {
    try {
        var sum: Long = 0
        val n: Int = readLine()!!.toInt()

        for (i in 0..(n - 1)) {
            var input: Long?
            input = readLine()!!.toLong()
            sum += input
        }
        println(sum)
    } catch (ex: Exception) {
        println(ex.message)
    } 
}

我想将数据类型 Long Long 替换为 Long 。那么如何定义 Long Long 数据类型呢?

【问题讨论】:

  • 从根本不同的答案可以看出,您应该编辑您的问题以包含一些上下文。这个假设的Long Long 会为你做什么而Long 不会?
  • Java 本身没有 long long 类型。 long 是 64 位,int 是 32 位,short 是 16 位,byte 是 8 位。 Kotlin 不会改变这一点。

标签: kotlin


【解决方案1】:

Kotlin 的 Long 已经是 64 位的了。无需古人long long诡计:

https://kotlinlang.org/docs/reference/basic-types.html

【讨论】:

    【解决方案2】:

    如果您在 JVM 上,则没有 long long 类型,但您可以将 java.math.BigInteger 用于任意大的数字。

    在 Java 问题here 中查看有关此主题的更多讨论和更多替代方案。

    【讨论】:

      【解决方案3】:

      Kotlin 使用 BigInteger 数据类型处理 long long 数据类型。将 long 替换为 BigInteger;

      fun main(args: Array<String>) {
          try {
              var sum = 0.toBigInteger()
              val n: Int = readLine()!!.toInt()
      
              for (i in 0..(n - 1)) {
                  var input: BigInteger?
                  input = readLine()!!.toBigInteger()
                  sum += input
              }
              println(sum)
          } catch (ex: Exception) {
              println(ex.message)
          } 
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-04-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-11-10
        相关资源
        最近更新 更多