其他没有,但真的不清楚为什么,还有另外一个我喜欢看的错误

时间:2014-11-20 00:55:44

标签: java string if-statement

嘿,那些为uni工作的Java工作,为什么这不起作用?

    if ( i <=39998)
        String digit = pictureFile.substring(i, i+1);
    else 
        String digit = pictureFile.substring(39998,39999);

它出现了以下错误消息: enter image description here

1 个答案:

答案 0 :(得分:9)

您所写的是语法错误,因为大括号中没有代码块的ifelse只能采用声明,而不是变量声明。

这会编译,但没有意义:

if (i <=39998) {   // WARNING: unused variable
    String digit = pictureFile.substring(i, i+1);
} else {
    String digit = pictureFile.substring(39998,39999);
}

在分支内声明变量是没有意义的,因为它在if之外是不可见的。应该是

String digit;
if ( i <=39998)
    digit = pictureFile.substring(i, i+1);
else 
    digit = pictureFile.substring(39998,39999);

String digit = (i <= 39998)
     ?  pictureFile.substring(i, i+1)
     :  pictureFile.substring(39998,39999);