大家都在为uni进行Java分配的工作,这为什么不起作用?

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


它带有以下错误消息:

最佳答案

您所写的是语法错误,因为在大括号中没有代码块的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);

10-05 23:56