gpt4 book ai didi

Java:将秒输入转换为小时/分钟/秒

转载 作者:行者123 更新时间:2023-12-01 16:53:17 25 4
gpt4 key购买 nike

这是一个练习题,取自 Lewis 和 Loftus 的《Java Software Solutions:程序设计基础》,第 4 版;问题PP2.6(这里是link)

问题如下:“创建一个项目,读取代表秒数的值,然后将等效的时间量打印为以下组合:小时、分钟和秒。 (例如,9999秒相当于至 2 小时 46 分 39 秒。)”

到目前为止我已经尝试过以下方法

public static void main(String[] args)
{
Scanner scan = new Scanner(System.in);

double totalSecs, seconds, minutes, hours;

System.out.println("Enter number of seconds: ");

totalSecs = scan.nextInt();

hours = totalSecs/3600;
minutes = (Math.abs(Math.round(hours)-hours))*60;
seconds = (Math.abs(Math.round(minutes)-minutes))*60;

System.out.print(hours + "\n" + minutes + "\n" + seconds);

}

答案出来了,小时:2.7775分钟:13.350000000000009秒:21.00000000000051

我想要做的是取小时的小数,然后乘以 60 得到分钟,然后重复该过程几秒。然而,我很难弄清楚,因此 (Math.abs) 等的解决方案很困惑。

您建议我更改/添加什么?谢谢!

注意:这是一本针对初学者的书,因此我没有学到比代码中已经说明的操作更多的操作。因此,我还没有理解以前提出这个问题的解决方案。

最佳答案

作为user2004685的替代品的回答;

int seconds = 9999; 
int hour = 9999 / (60 * 60); //int variables holds only integer so hour will be 2
seconds = 9999 % (60 * 60); // use modulo to take seconds without hours so it will be 2799
int minute = seconds / 60; //same as int variable so minute will be 49
seconds = seconds % 60; // modulo again to take only seconds
System.out.println(hour + ":" + minute + ":" + seconds);

关于Java:将秒输入转换为小时/分钟/秒,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36246622/

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