【问题标题】:class is public,should be declare in a file named SimpleDotCom.java? [duplicate]类是公共的,应该在一个名为 SimpleDotCom.java 的文件中声明吗? [复制]
【发布时间】:2020-12-27 05:10:46
【问题描述】:

我正在根据我的书 Head First Java 编写所有内容

public class SimpleDotComTestDrive{
public static void main(String[] rip ){
SimpleDotCom dot = new SimpleDotCom();
int[] locations ={2,3,4};
dot.setLocationCells(locations);
String userGuess ="2";
String result = dot.checkYourself(userGuess);
}
}

public class SimpleDotCom{
    int[] locationCells;
    int numOfHits=0;
    public void setLocationCells(int[] locs){
    locationCells=locs;
    }
public String checkYourself(String stringGuess){
    int guess= Integer.parseInt(stringGuess);
    String result="miss";
    for(int cell : locationCells){
        if(guess== cell){
            result = "hit";
            numOfHits++;
            break;
            }
    }
    if(numOfHits == locationCells.length){result="Kill";}
System.out.println(result);
return result;
    }
    
}

这是错误

class SimpleDotCom is public, should be declared in a file named SimpleDotCom.java

如果我尝试将我的文件保存在 SimpleDotCom 类中,我仍然会收到类似 ename 预期的错误(括号)。

【问题讨论】:

  • 您在一个文件中有两个不同名称的公共顶级类。那不会飞将它们放在两个不同的文件中或将其中一个设为非公开文件。
  • 请注意:这是非常基本的东西。在此处提出新问题之前,请尝试使用搜索引擎。请放心:您现在遇到的任何事情......都在这里被问过。很多很多次。然后:避免使用图像。您的控制台也是纯文本。因此,将文本复制为文本,并将其格式化。
  • 请注意:典型的答案是为您的“生产代码”使用“src/java/main”,为您的测试用例使用“src/java/test”。然后 X.java 进入 main,XTest.java 可以进入 test ... 所以:两个公共类,每个都有自己的文件。

标签: java


【解决方案1】:

文件中只允许有一个公共类。 .java 文件的名称应与公共类相同。在您的情况下,文件应命名为“SimpleDotComTestDrive.java” 您的代码中还有另一个问题 - 您有两个公共类。请从其中一个类中删除“public”修饰符。 要么 您可以根据需要从类和名称文件中删除“public”修饰符。

【讨论】:

    猜你喜欢
    • 2015-08-31
    • 2014-10-24
    • 2020-04-13
    • 1970-01-01
    • 1970-01-01
    • 2018-10-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多