gpt4 book ai didi

Java:有关代码的建议

转载 作者:行者123 更新时间:2023-12-01 22:03:51 24 4
gpt4 key购买 nike

这是我到目前为止的代码。我是初学者,我不明白为什么这不能正常工作。

我的任务是获取若干分钟(2000 到 40000),并输出它包含多少天、小时、分钟(例如 25000 分钟是 - 17 天 8 小时 40 分钟)。

此外,如果我将 17 天 8 小时 40 分钟添加到日期:2015 年 9 月 1 日,它应该显示日期。我什至还没有接近输出(我的显示为 0 天 6 小时 50 分钟) ) -

它必须看起来像这样:

There are 17 days, 8 hours , 40 minutes in 25000 minutes. The future date will be 18 september 2015.

有什么建议吗?

public static void main(String[] args) {
// 1 minute = 60 seconds
// 1 hour = 60 x 60 = 3600
// 1 day = 3600 x 24 = 86400

int input = 25000;
int numberOfDays;
int numberOfHours;
int numberOfMinutes;

numberOfDays = input / 86400;
numberOfHours = (input % 86400) / 3600;
numberOfMinutes = ((input % 86400) % 3600) / 60;

System.out.println("Number of days :" + numberOfDays);
System.out.println("Number of Hours :" + numberOfHours);
System.out.println("Number of Mins :" + numberOfMinutes);
}

最佳答案

正如 Chris K 所说:

final static int ONE_DAY_IN_MINUTES = 1440;

但是你还犯了另外两个错误:

numberOfHours = (input % ONE_DAY_IN_MINUTES) / 3600;

为什么要除以 3600?

让我们举个例子:

我们输入了1500(它代表1天:1小时:0分钟)

= (1500 % 1440)
= 60

我们知道剩下的时间是 60 分钟,从分钟得到一小时的公式是:

minutes / 60

在本例中 60/60 = 1,因此正确的代码是:

numberOfHours = (input % ONE_DAY_IN_MINUTES) / 60;
<小时/>

以下逻辑相同:

numberOfMinutes = ((input % ONE_DAY_IN_MINUTES) % 60) / 60;

当取模得到的余数已经给出了分钟数时,为什么还要再除以 60?

numberOfMinutes = (input % ONE_DAY_IN_MINUTES) % 60;

关于Java:有关代码的建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33188162/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com