0 int specialFuncStart;
1 String[] specialFunctions= {"sum","ddx","integral"};
2 for(String element: specialFunctions){
3 specialFuncStart = finalMath.lastIndexOf("sum");
4 }
5 while (specialFuncStart != -1) { code }
为什么第5行说specialFuncStart可能没有被初始化?字符串是最终的并且是固定的,因此for循环将始终运行.编译器不知道或我错过了什么吗?我明白初始化specialFuncStart = -1;是如何解决它,但为什么?
最佳答案 你宣布它但你没有初始化它.你需要为它设置一个值:
int specialFuncStart; // declare
specialFuncStart = 0; // initialize
int specialFuncStart = 0; // both
您的编译器认为有时specialFuncStart不会被初始化,因为for循环不必执行.