/ / Javaコンパイル時エラー:解析中にファイルの終わりに達しました - java、コンパイラ構築、コンパイル、コンパイラエラー

Javaコンパイル時エラー:解析中にファイルの終わりに達しました - java、コンパイラ構築、コンパイル、コンパイラエラー

public class Test{
public static void main(String[] arg){
System.out.println("Alexander The Great");
}
}

このコードでは、文字列の最初の引用符を削除すると、3つのエラーが発生します。 1.) ")"予想 2.閉じられていない文字列リテラル 3.声明ではない

OK、私は上記のエラーを理解しています。

文字列の二重引用符を削除すると、3つのエラーも発生します。 1.閉じられていない文字列リテラル 2. ";"期待される 3.解析中にファイルの終わりに達しました

私は1と2を理解しましたが、なぜ3ですか?

中括弧が見つからない場合は通常は発生しませんが、明らかに正しい中括弧の数があります。 また、最初のケースでは、 "解析中にファイルの終わりに到達しました"というエラーをなぜ返さないのでしょうか?

P.S.私はjGrasp、java 1.6を使っています。

回答:

回答№1は1

去る 最初 見積もりは、パーサに「Alexander」を参考にして扱うことになるので、一緒に作業してください。一度それがスペースに当たったら、唯一の正当なものは式の残りの部分ですが、代わりにそれは別の識別子だと考えます。

それはボーナスを挿入している可能性があります ) 回復しようとする。実装に依存します。

最後の引用符を残しておくと、パーサが送信されますラインの終わりまでそのステートメントを閉じるのではなく、少し失われて回転して、ファイルの終わりに戻ってヒットすることはできません。

私の頭の上から離れて、それはJavaの文字列は単一行だけであるため、同じことをやり遂げることができ、その場合に文字列や文を閉じることができます。私は何かを明らかにしていないかもしれない。


回答№2の場合は0

引用符を検索しているときにEOFが発生したためです。私は悪いコードのために放出されるべき正確なエラーメッセージが指定されるかどうか確かではありません。


回答№3の場合は-1

使用するpublic static void main(String arg []) public static void main(String [] arg)の代わりに、