-7

これらのエラーを修正する方法がわかりません:

  1. クラスまたはインターフェイスの予期されるエラー
  2. パッケージが存在しません
  3. シンボルを見つけることができません
  4. 型の不正な開始
  5. java.lang にアクセスできません

コード内の問題が発生している場所をよりよく理解するにはどうすればよいですか? これらの問題をデバッグするにはどうすればよいですか?

これが私のコードです:

import java.io.*;

public class ResourcesTesterApp {
    public static void main(String[] args) {
        String s1 = readLineWithResources();
        String s2 = readLineWithFinally();
    }

    public static String readLineWithResources() {
        System.out.println("Starting readLineWithResources method.");

        try (RandomAccessFile in = new RandomAccessFile("products.ran", "r")) {
            return in.readLine();   
        }} catch (IOException e) {
            System.out.println(e.toString());
        }
    }

    public static String readLineWithFinally() {
        System.out.println("Starting readLineWithFinally method.");
        RandomAccessFile in = null;
        String s = null;

        try {
            in = new RandomAccessFile("products.ran", "r");
            s = in.readLine();
        } catch (IOException e) {
            System.out.println(e.toString());
        } finally {
            if (in != null) {
                try {
                    in.close();
                    System.out.println("RandomAccessFile closed");
                } catch (IOException e) {
                    System.out.println("RandomAccessFile " + e.getMessage());
                }
            }
        }
        return s;
    }
4

2 に答える 2

3

あなたの質問は、これらのエラーをよりよく理解し、デバッグする方法です。私が言えることは、実際のエラー メッセージ出力を見てください。通常は行番号が含まれています。これで、コードの特定の行を見て、何が間違っているかを確認できます。

あなたの質問のコードの書式設定が、stackoverflow.com への貼り付けに失敗したことに起因するのか、それともそれがあなたの作業方法なのかはわかりませんが、適切に書式設定する必要があり、それがスポッティングに役立ちます問題。たとえば、上記のコードをすぐにフォーマットすると、追加の右中括弧が表示されます。

実際のエラー メッセージと行番号などを取得したら、エラーをググってその意味を理解しようとするのが最善の策です。その道を使い果たしたら、ここに戻って、エラーメッセージと実行中のコードを正確に示す特定の質問を作成してください。ここで行ったように、多くの問題を 1 つの質問にグループ化することは避けてください。

于 2012-09-19T19:59:19.540 に答える
1
  1. これは通常、メソッドの外でコードを書いていることを意味します。
  2. これは単に、Java コンパイラが見つけられないパッケージを参照したことを意味します。
  3. これは、存在しない変数を書き込んだことを意味します。
  4. これは通常、ステートメントを完成させておらず、次のステートメントを書き始めたことを意味します。
  5. 私はこれについて知りません、多分もっと具体的ですか?

Javaチュートリアルを見て、その例に従うことを強くお勧めします。http://docs.oracle.com/javase/tutorial/で見つけることができます。

于 2012-09-19T19:51:45.163 に答える