java - Else 没有 if,但真的不清楚为什么,还有另一个我想看的错误

标签 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

最佳答案

你写的是语法错误,因为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);

关于java - Else 没有 if,但真的不清楚为什么,还有另一个我想看的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27029898/

相关文章:

java - Spring 重试异常 block 的问题

Python:for if-else 之间的循环,这是如何/为什么工作的?

javascript - 如果(函数()===假){这样做}

php - 格式化手机号码数组

c# - 将一些属性和一些逻辑混搭在一起

php - 排除 if 语句?

java - 我如何合并红绿色和蓝色位图以获得原始位图

c# - 创建跨平台应用程序

java - 增强并删除 while 循环中的冗余长度检查

string - 解析文本最快的方法是什么?