这基本上不是编码问题,而是技术修正,如果你愿意的话。我不能在英语论坛上问这个因为他们不会理解所有的技术术语。
所以这就是我的代码。
1. public class ExamQ1a
2. {
3. public static void main(String[] args)
4. {
5. int x = 27;
6. int y = 5;
7. double z = x / y
8. System.out.println(x = x, y = y, z = z);
9. }
10. }
这是我被问到的问题
(i)当程序在BlueJ中编译时,出现以下错误消息 显示:';'预期和第7行的声明突出显示。 解释问题是什么以及如何解决它。
这是我给出的答案
i)问题是没有迹象表明声明的结束, 因此编译器不会将语句double z = x / y视为a 声明的结尾然后假设下面的句子是 声明的延续。事实上并非如此。修复 这个错误将是双z = x / y;
所以我想知道我是否正确使用了技术术语,tks
答案 0 :(得分:1)
答案是合理的,当然也不是事实错误。有一个小的技术错误,因为Java没有“句子”。
但是,在一个理想的答案中,您可能会更精确地推断为什么编译器将此诊断为语法错误,特别是缺少分号。
解析器会看到以下符号序列:
double z = x / y System . out . println
它将前两个符号解析为声明符,并将'='解析为初始化符的开头。然后它尝试解析表达式。一切顺利,直到看到'y'后跟'系统'。基本上,表达式中间的行中不能有两个标识符。此时合法的符号是中缀运算符符号,'(',a'['或''''。其他任何语法错误。
编译器编写者已经调用过,如果编译器在解析中的这一点看到一个意外的标识符符号,最可能的解释是程序员在结束时没有使用分号。该声明。在这种情况下,诊断是正确的 - 问题是缺少分号。
答案 1 :(得分:0)
除了我会使用following line
而不是following sentence