gpt4 book ai didi

java - 将 float 转换为年、月、周、日

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

我一直在尝试将 float 转换为年、月、周、日、小时、分钟和秒,但我没有得到它。

例如,如果用户输入 768.96,则总计将为 2 年 1 个月 1 周 1 天 23 小时 0 分 2 秒。

这就是我所拥有的。

import javax.swing.JOptionPane;

public class timePartition {

public static void main(String[] args) {

float totalTime;
float userInput;
int years = 0, months = 0, weeks = 0, days = 0, hours = 0, minutes = 0, seconds = 0;


do{
userInput = Float.parseFloat(JOptionPane.showInputDialog("Enter a positive number to decompose"));
totalTime = userInput;

years = (int) userInput / 365;
userInput = userInput % 10;

months = (int) userInput / 12;
userInput = userInput % 10;

weeks = (int) userInput / 4;
userInput = userInput % 10;

days = (int) userInput / 30;
userInput = userInput % 10;

hours = (int) userInput / 24;
userInput = userInput % 10;

minutes = (int) userInput / 60;
userInput = userInput % 10;

seconds = (int) userInput / 60;
userInput = userInput % 10;


}while (userInput >=1);

System.out.print("The number " +totalTime+ " is " +years+ " years, " +months+ " months, " +weeks+ " weeks, " +days+ " days, " +hours+ " hours, " +minutes+ " minutes, " +seconds+ " seconds.");


}

最佳答案

我不认为在取出每个面额后可以使用模 10 来减少输入。此外,您根本不需要 while 循环。

你必须做类似的事情

years = (int) (userInput / 365);
userInput = userInput - years*365;

等等。另外,由于输入以天为单位,因此在除法时必须继续以天为单位进行思考,因此除以 12 来获得月数是没有意义的。您可以除以 30、31 或 28。同样,对于小时,您必须将天数的剩余部分乘以 24,然后取小时的小数部分并将其类似地分解为分钟和秒。

关于java - 将 float 转换为年、月、周、日,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28718876/

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