0

如果您愿意,这基本上不是编码问题,而是技术更正。我不能在英语论坛上问这个问题,因为他们不会理解所有的技术术语。

所以这是我的代码。

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 视为语句的结尾,然后假设以下句子是语句的继续。事实上并非如此。对这个错误的修复将是 double z = x/y;

所以想知道我是否正确使用了技术术语,tks

4

2 回答 2

1

答案是合理的,当然不是事实错误。有一个小的技术错误,因为 Java 没有“句子”。

但是,在理想的答案中,您可能会更准确地解释为什么编译器将其诊断为语法错误,特别是缺少分号。

解析器看到以下符号序列:

double z = x / y System . out . println 

它将前两个符号解析为声明符,并将“=”解析为初始化程序的开始。然后它尝试解析一个表达式。一切都很好,直到它看到'y',然后是'System'。基本上,您不能在表达式中间连续有两个标识符。此时合法的符号是中缀运算符符号、'('、'[' 或'.'。任何其他都是语法错误。

编译器编写者已经调用,如果编译器在解析的这一点看到一个意外的标识符符号,最可能的解释是程序员在语句的末尾省略了分号。在这种情况下,诊断是正确的 - 问题是缺少分号。

于 2012-11-14T10:22:30.417 回答
0

对我来说看起来不错,只是我会使用这些词following line而不是following sentence

于 2012-11-14T09:33:14.727 回答