我正在尝试以下代码。
int index, use, comp;
for (index = 0; index < 3; index++)
{
if (user1.equalsIgnoreCase(options[index]))
{
use = index;
}
}
for (index = 0; index < 3; index++)
{
if (opt.equalsIgnoreCase(options[index]))
{
comp = add + index;
}
}
int sum = comp + use;
在第int sum = comp + use;
行,我收到一条错误,指出变量comp和use未初始化。如何在执行循环期间将这些值存储在这些变量中?
答案 0 :(得分:1)
编译器告诉您,到达第comp
行时,use
和int sum = comp + use;
可能没有给出值。这显然是正确的(从编译器的角度来看):无法确定这些变量是否已将值放入其中。
解决此问题的一种简单方法是在开始时初始化它们:
int comp = 0;
int use = 0;
但首先要确保这不会破坏你想要的功能。
答案 1 :(得分:0)
你需要计算for循环中的总和,否则,两个变量将是可访问的(循环之外)。
int index;
int sum = 0;
int comp= 0;
int use = 0;
//would've been better if you specified what these variables are for though.
for (index = 0; index < 3; index++)
{
if (user1.equalsIgnoreCase(options[index]))
{
use = index;
}
if (opt.equalsIgnoreCase(options[index]))
{
comp = add + index;
}
sum = comp + use;
}