6

我对Java相当陌生,并试图弄清楚如何解决以下错误:

错误读取

CalculatorWithMemory.java:1: class Calculator is public, should be declared 
  in a file named Calculator.java
public class Calculator

所以我的想法是,这意味着我必须保存 2 个不同的 .java 文件。然而,这是一个类,我只有一个提供的文本块来输入我的解决方案,所以我不能将它们保存为 .java 文件。关于解决方案的任何想法都会很棒。

提前致谢!

提供所有信息。我正在尝试解决以下问题。

问题

超类 Calculator 包含:

  • 一个(受保护的)双精度实例变量,累加器,它包含计算器的当前值。

编写一个子类 CalculatorWithMemory,其中包含:

  • 双实例变量,内存,初始化为 0
  • 一种方法,保存,将累加器的值分配给内存
  • 一种方法,recall,将内存的值分配给累加器
  • 一种方法 clearMemory,将零分配给内存
  • 一个方法,getMemory,它返回存储在内存中的值
4

6 回答 6

13

As the error message implies, if you declare a class as public, it needs its own .java file. If you don't want to do that, then don't define it as public.

于 2012-04-29T23:52:06.603 回答
4

您需要命名包含该类的文件Calculator.java

于 2012-04-29T23:52:01.087 回答
2
class Something {

}

代替

public class Something {

}
于 2016-05-05T18:30:00.093 回答
1

当给定 Java 程序的类名和文件名不匹配时,会发生此错误。例如,假设以下程序保存在名为 Foo.java 的文件中:

public class Bar {     
    public static void main(String[] args) {
        System.out.println("Hello, world!");
    }
}



1 error found:
File: Foo.java  [line: 1]
Error: class Bar is public, should be declared in a file named Bar.java

由于 Foo 与 Bar 不匹配,因此代码无法编译。要修复此错误,请重命名文件或更改类名。

于 2014-03-18T08:15:15.317 回答
1

包含 main 的公共类的名称必须与文件名相同,在您的情况下,文件名应该是Calculator.java

于 2012-04-29T23:53:38.663 回答
0

如果你想在同一个文件中有多个类,那么你应该只写一个与文件同名的公共类。

您可以定义为“class abc{}”或使用其他修饰符然后公开的所有其他类。

于 2016-09-01T03:45:35.380 回答