2301_82093675 2024-06-03 14:26 采纳率: 92.6%
浏览 1
已结题

完善Java代码可以正常运行

img

img


怎么完善该代码,使可以正常运行输入数据可以得到结果,尽量详细一些

  • 写回答

3条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-06-03 14:26
    关注

    引自免费微信小程序:皆我百晓生

    为了使这个 Java 代码片段可以正常运行并获取正确的结果,你需要对 GetMaxDay 方法进行一些调整。首先,你需要添加一个主方法(main method)以便在程序中调用这个函数。其次,确保正确处理逻辑运算符,这里应使用 == 进行比较,而不是赋值操作符 =。下面是修改后的完整代码:

    public class Main {
        public static void main(String[] args) {
            int year = 2023; // 输入年份
            int month = 2;   // 输入月份
            int maxDay = GetMaxDay(year, month);
            System.out.println("The maximum number of days in " + month + "/" + year + " is: " + maxDay);
        }
    
        public static int GetMaxDay(int year, int month) {
            int maxDay = 0;
    
            if (month >= 1 && month <= 12) {
                switch (month) {
                    case 2:
                        if (year % 4 == 0) {
                            if (year % 100 == 0) {
                                if (year % 400 == 0) {
                                    maxDay = 29;
                                } else {
                                    maxDay = 28;
                                }
                            } else {
                                maxDay = 29;
                            }
                        } else {
                            maxDay = 28;
                        }
                        break;
                    case 4:
                    case 6:
                    case 9:
                    case 11:
                        maxDay = 30;
                        break;
                    default:
                        maxDay = 31;
                        break;
                }
            }
    
            return maxDay;
        }
    }
    

    这段代码首先定义了一个名为 Main 的公共类,并在其中创建了一个 main 方法。在 main 方法中,我们初始化了年份和月份的变量,并调用了 GetMaxDay 函数,然后将结果打印到控制台。

    GetMaxDay 函数中,我们使用 switch 语句替代了多个 if-else 结构,使得代码更简洁易读。当处理月份时,我们将条件语句改为了 case 子句,这样更容易理解和维护。

    现在,你可以编译并运行这个程序,它会输出指定月份的最大天数。例如,对于给定的年份 2023 和月份 2(即二月),程序会输出:The maximum number of days in 2/2023 is: 28

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 6月30日
  • 已采纳回答 6月22日
  • 创建了问题 6月3日

悬赏问题

  • ¥15 网友们我该怎么办啊,急
  • ¥15 混合键合键合机对准标识
  • ¥100 现在不懂的是如何将当前的相机中的照片,作为纹理贴图,映射到扫描出的模型上
  • ¥15 目标跟踪,计算机视觉
  • ¥15 魔霸ROG7 pro,win11.息屏后会显示黑屏,如图,如何解决?(关键词-重新启动)
  • ¥15 有没有人知道这是哪里出了问题啊?要怎么改呀?
  • ¥200 C++表格文件处理-悬赏
  • ¥15 Windows Server2016本地登录失败
  • ¥15 复合卡卡号轨道写入芯片卡
  • ¥20 基于MATLAB的TDOA