【问题标题】:Getting errors on trying to declare a class in java尝试在 java 中声明类时出错
【发布时间】:2013-09-24 18:17:39
【问题描述】:

我得到了这部分代码:

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 类的部分的指针。它说找不到符号,这表明没有声明变量,但是我应该怎么做呢? (我完全意识到可能有更好的编码方法,但这是我到目前为止所得到的。) 编辑:编辑代码,因为我刚刚看到它没有包含所有内容......对此感到抱歉。

【问题讨论】:

  • 确保您使用了适当的import 语句。
  • 根据您向我们展示的代码中的大括号,您似乎在 main 方法中声明了该类。您必须在方法之外声明类。
  • @GennaroDeLuca 你可以在方法中声明类。

标签: java class declare


【解决方案1】:

在尝试使用之前定义类Meny,即移动

class Meny {
  ...
}

领先

Meny menyen = new Meny();

定义类的顺序对编译器很重要。另外声明 Scanner 实例 final 以便它可以在内部类中引用

final Scanner input = new Scanner(System.in);

【讨论】:

  • 但这取决于它的声明顺序,所以编译器不会知道任何关于它的...
  • 另外,变量input 必须是final 才能在Meny 内部使用。
  • @SamYonnou 请解释一下
  • @Makri 一个非最终变量不能在内部类的方法中被引用
  • @Makri Reimus 编辑了他的答案来解释它。基本上,要在匿名类中访问变量,必须将其标记为 final
【解决方案2】:

如果这是您的完整代码,那么您缺少} 来关闭void Meny(),另一个} 来关闭class Meny,以及另一个} 来关闭main()。另外,你有没有把main() 放在一个更大的班级里? Java 不允许函数在类之外。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-02-04
    • 1970-01-01
    • 2013-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多