gpt4 book ai didi

java - 随机数未初始化

转载 作者:行者123 更新时间:2023-12-01 20:15:02 25 4
gpt4 key购买 nike

我这里有这段代码:

    Random rand = new Random();
int randomNum;
int i;
String[] text1 = getResources().getStringArray(R.array.text1);
String[] text2 = getResources().getStringArray(R.array.text2);



for(i = 0; i < ((MAX - 1)^(MAX - 1)); i++) {
randomNum = rand.nextInt(2);
// True wenn bereits angezeigt worden
if(shown_table.get(randomNum)) {
continue;
}
// False wenn noch nicht angezeigt worden
else {
break;
}
}

// Texte anzeigen und Shown table auf true setzen.
txt_text1.setText(text1[randomNum]);
txt_text2.setText(text2[randomNum]);
//shown_table.put(randomNum, true);

但是当我编译它时,我收到此错误:

Error:Execution failed for task ':app:compileDebugJavaWithJavac'.
> Compilation failed; see the compiler error output for details.
Error:(118, 33) error: variable randomNum might not have been initialized

当我将“randomNum = rand.nextInt(2); ”放在循环之前时它会起作用......但这不是我想要的。

有什么想法吗?

ps:我是编码新手

最佳答案

XOR 具有对于所有 x,x^x == 0 的属性。因此表达式 (MAX - 1) ^ (MAX - 1) 的计算结果始终为零,并且您的代码永远不会进入循环。

但这不是问题所在。编译器总是假设循环可能永远不会被执行,并且它会提示在这种情况下 randomNum 在用作数组下标时不会被初始化。

关于java - 随机数未初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46023334/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com