public class Test{
public static void main(String[] arg){
System.out.println("Alexander The Great");
}
}
在此代码中,如果我删除字符串中的第一个引号,则会出现3个错误。 1.'''预期 2.未封闭的字符串文字 3.不是声明
好的,我理解上面的错误。
如果我删除字符串中的第二个引号,我也会得到3个错误。 1.未封闭的字符串文字 2.';'预期 3.解析时到达文件末尾
我理解1和2,但为什么3 ??
支架缺失时通常不会发生吗?但显然,我有正确数量的大括号。 另外,为什么不在第一种情况下给出错误“在解析时达到文件结尾”?
P.S。我正在使用jGrasp,java 1.6。
答案 0 :(得分:1)
离开第一个引用可能会让解析器更多地使用,因为它会尝试将“Alexander”视为参考。一旦它到达空间,唯一合法的东西是表达式的其余部分,但它认为它是另一个标识符。
可能会插入奖金)
以尝试恢复;取决于实施。
离开最后一个引号会将解析器发送到该行的末尾。它不会试图关闭该声明,而是会丢失并旋转,无法恢复并触及文件的末尾。
在我的脑海中,对我而言,似乎由于Java字符串只是单行,它可以做同样的事情并尝试在这种情况下关闭字符串和/或语句并恢复更多优雅。不过,我可能只是遗漏了一些明显的东西。
答案 1 :(得分:0)
因为在搜索引号时遇到了EOF。我不确定是否指定了为错误代码发出的确切错误消息。
答案 2 :(得分:-1)
使用public static void main(String arg []) 代替public static void main(String [] arg)