当前位置: 首页 > 知识库问答 >
问题:

在Java中声明公共类[重复]

杨豪
2023-03-14

我已经运行了这段代码,并在网上寻找解决方案。如何修复此错误?我挽救了过去和未来。它仍然无法运行。

YourName.java:7: error: class PastPresentFuture is public, should be declared in a file named PastPresentFuture.java
public class PastPresentFuture
       ^
1 error

代码:

//Name
//Date
//Chapter and problem #
//Application prompts user to enter month, day, year 
import java.util.*;
import java.time.LocalDate;
public class PastPresentFuture
{
   public static void main (String[] args) 
   {
      LocalDate today = LocalDate.now(); //Creates the local class of today
      int mo, da, yr;
      int todayMo, todayDa, todayYr;
      Scanner input = new Scanner(System.in);
      todayMo = today.getMonthValue();
      todayDa = today.getDayOfMonth();
      todayYr = today.getYear();

//Input month, day and year enter text for month, day and year
      System.out.print("May");
      mo = input.nextInt();
      System.out.print("18");
      da = input.nextInt();
      System.out.print("2018");
      yr = input.nextInt();

//Reference if and else statement example on p. 274 
//Display text statements shown as (1, 2, 3, 4) on p. 295 for this problem
      if(yr != todayYr)
         System.out.println(yr + todayYr);
      else
         if(mo < todayMo)
            System.out.println(mo + todayMo);
         else
            if(mo > todayMo)
               System.out.println(mo +todayMo);
            else
               System.out.println(mo +todayDa);
   }
}

共有1个答案

党佐
2023-03-14

您的类被称为PastPresentFuture,我猜测您的文件不是PastPresentF的错误消息uture.java.您需要将其更改为与类名匹配。

编辑:这仅适用于公共类。

 类似资料:
  • 我试图编写一个程序,但遇到了以下编译器错误: 我已经检查了我的文件名,我的公共类与我的相同。java文件。 我怎么能解决这个问题? 这是我的代码:

  • 类 SDK类 类名:\Yurun\PaySDK\AlipayApp\SDK 实例化:$sdk = new \Yurun\PaySDK\AlipayApp\SDK($params); 公用参数类 类名:\Yurun\PaySDK\AlipayApp\Params\PublicParams 属性 名称 类型 说明 $format string 仅支持JSON $charset string 请求使用的

  • 当我编译java程序时,我得到这个错误:class是公共的,应该在一个名为的文件中声明 这是我的java代码:

  • 我是 Kotlin 的新手,我有以下疑问 - 使用Java到Kotlin转换器(此链接),我将以下Java代码转换为Kotlin。 Java类: 生成的Kotlin类: 但是我不明白Java代码和生成的静态编程语言代码是如何等价的,因为类数据成员的可见性修饰符从私有(Java)变为公共(静态编程语言)。 我相信,如果可见性修饰符被保留(数据成员在静态编程语言中被声明为私有),getter和sett

  • 问题内容: 在Java中,我们不能与另一个具有相同名称的变量在同一作用域中声明一个变量: 语法错误,无法编译。但是,如果我们将其放入循环中: 不产生错误,效果很好。我们基本上是在声明相同的变量。是什么原因?在此背后我不知道/不了解的逻辑是什么? 问题答案: 考虑一下这种方式,在每个循环之后,作用域被“破坏”,变量消失了。在下一个循环中,将创建一个新的作用域,并且可以在该作用域中再次声明该变量。 由

  • 这个问题是一个问题的继续。如何使用“”初始化字符串? 我想引起您的注意,即使、、、、包装类也可以以与相同的方式声明,如下所示: 这些类是否也像 类一样得到特殊处理。