0

コードのこの部分を取得しました:

import java.util.*;
import java.io.*;
public class Oblig2 {
Meny menyen = new Meny();
public static void main (String[] args) {
Scanner input = new Scanner (System.in);
int menyvalg=0;


//Lager filen ved navn Fugleobservasjoner
try{
PrintWriter fil=new PrintWriter(new FileWriter("Fugleobservasjoner.txt"));
} catch (IOException e) {
    System.out.println("Filen finnes ikke");
    } 

//Selve menyen til programmet i en egen klasse.
class Meny {
    int menyvalg=0;
    void Meny() {
System.out.println("====== Meny for registrering av fugleobservasjoner =====");

System.out.println("\n1. Registrer en fugleobservasjon");
    System.out.println("2. Skriv ut alle fugleobservasjoner av en type");
System.out.println("3. Skriv ut alle fugleobservasjoner på ett bestemt sted");
System.out.println("4. Avslutt systemet");

System.out.println("\nVennligst velg et tall: ");
menyvalg = input.nextInt();
    }
}



//Dette er kommandoene for valget som gjøres i menyen.


    }
}

しかし、コンパイル時にエラーが発生し続け、Meny クラスを宣言する部分へのポインターも表示されます。変数が宣言されていないことを示唆する「シンボルが見つかりません」と表示されますが、その場合はどうすればよいですか? (これをコーディングするより良い方法があるかもしれないことは十分に承知していますが、これは私がこれまでに得たものです。) 編集:すべてが含まれていないことがわかったので、コードを編集しました...申し訳ありません。

4

2 に答える 2

3

Meny使用する前にクラスを定義してください。つまり、移動します。

class Meny {
  ...
}

の前に

Meny menyen = new Meny();

クラスが定義される順序は、コンパイラにとって重要です。さらに、Scannerインスタンス final を宣言して、内部クラスで参照できるようにします。

final Scanner input = new Scanner(System.in);
于 2013-09-24T18:22:02.757 に答える
-1

それが完全なコードである場合、 close 、close 、およびcloseが欠落}しています。また、より大きなクラスに入れましたか?Java では、関数をクラスの外に置くことはできません。void Meny()}class Meny}main()main()

于 2013-09-24T18:25:33.503 に答える