【问题标题】:Else without if, but really unclear why, also another error I'd like looking at否则没有如果,但真的不清楚为什么,还有另一个我想看的错误
【发布时间】:2015-01-17 17:48:08
【问题描述】:

大家好,正在为 uni 做 Java 作业,为什么这不起作用?

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

它会出现以下错误消息:

【问题讨论】:

  • 请将您的错误信息发布为文本,而不是图片。
  • 并显示更多相关代码。我遵循的一条经验法则:将 all 块放在花括号中,{},甚至是一行块,因为它会在某一时刻保存你的尾巴。

标签: java string if-statement


【解决方案1】:

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

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-11-18
  • 2019-08-19
  • 2016-06-16
  • 1970-01-01
  • 2020-05-17
  • 2022-06-15
  • 2013-12-11
相关资源
最近更新 更多