首页 > 解决方案 > Android Studio“从未使用过变量”,但实际上已使用(BigInteger 问题,未解决的参考)

问题描述

所以,大家好。

我开始通过 Android Studio 用 kotlin 编写我自己的第一个应用程序,但我有一个无法解决的问题。写下这段代码时:(bi 用于 BigInteger 顺便说一句的每个变量的前面。)

if (length == 2) {
     val bicombinations: BigInteger = valueOf(bivariations.toLong())
           .multiply(bivariations)
    }

它告诉我,从未使用过“双组合”。但是,我实际上在这里的这一行中使用了它:

val biresult: BigInteger = bicombinations.divide(bipcpower)

在这一行,我收到另一个关于 bicombinations 的错误/警告,“未解决的参考:bicombinations”

编辑:第二个警告现在转到:“必须初始化变量'双组合'。” 我知道在使用 Int 或 Double 或其他什么时如何解决这个问题,但由于 BigIntegers 是 val,我无法在 if 语句之外的 bicombinations 上设置值

编辑 2:这就是初始化问题的解决方法:首先,在 if 分支之外声明 bicombinations,如下所示:

var bicombinations: BigInteger = ONE

在 if 分支中,只需使用前面没有“val”的双组合,并且不要再次将其声明为 BigInteger。谢谢@Elliot-frisch

谁能告诉我该怎么做?这真的会帮助我完成我的应用程序!

标签: javaandroidkotlin

解决方案


val biresult=0.toBigInteger()

这样你就可以初始化 biresult。当你在 if 语句中定义一个变量时,你不能使用它,你会得到未解决的引用错误。您应该在函数中定义它以免出现此错误。


推荐阅读