[英]Elapsed time in Java?
我正在Java类中做作业。 除了这一部分,我已经掌握了大部分时间。 我们必须使用方法。 这是我的作业和代码。
“您刚被公司雇用来做每周的工资单。您每天必须执行的功能之一是检查员工的考勤卡,并计算员工“打入”和“打出”之间的经过时间。您有时还需要将小时转换为分钟,将几天转换为小时,将几分钟转换为小时,将小时转换为天。由于您刚完成第一门编程课程,因此决定编写一个程序来帮助您完成工作。
您决定采用以下方式来构造程序。 主要功能将只是一个菜单,用户可以从中进行选择以获得所需的信息。 菜单上的每个选项都将调用特定的方法来解决任务和/或输出答案。
您可能会为该程序假设所有经过的时间都将在一天内,但其他时间可能跨得更远。 确保提供足够的测试数据以证明您的解决方案是正确的。 (每次转换至少显示一个输出(对于选项5可能显示多个输出))。 ”
import java.util.*;
public class Prog671A
{
public static void hoursToMinutes()
{
Scanner input = new Scanner (System.in);
System.out.print("Enter hour(s): ");
int hours = input.nextInt();
System.out.println(hours + " * 60 = " + (hours * 60) + " minutes.");
System.out.println("");
}
public static void daysToHours()
{
Scanner input = new Scanner (System.in);
System.out.print("Enter day(s): ");
int days = input.nextInt();
System.out.println(days + " * 24 = " + (days * 24) + " hours.");
System.out.println("");
}
public static void minutesToHours()
{
Scanner input = new Scanner (System.in);
System.out.print("Enter minute(s): ");
int minutes = input.nextInt();
System.out.println(minutes + " / 60 = " + ((double)minutes / 60) + " hours.");
System.out.println("");
}
public static void hoursToDays()
{
Scanner input = new Scanner (System.in);
System.out.print("Enter hour(s): ");
int hours = input.nextInt();
System.out.println(hours + " / 24 = " + ((double)hours / 24) + " days.");
System.out.println("");
}
public static void elapsedTime()
{
Scanner input = new Scanner (System.in);
System.out.print("Enter the beginning hour: ");
int startingHour = input.nextInt();
System.out.print("Enter the beginning minute(s): ");
int startingMinutes = input.nextInt();
System.out.print("Enter AM/PM: ");
String startingAmOrPm = input.nextLine();
System.out.print("Enter the ending hour: ");
int endingHour = input.nextInt();
System.out.print("Enter the ending minute(s): ");
int endingMinutes = input.nextInt();
System.out.print("Enter AM/PM: ");
String endingAmOrPm = input.nextLine();
System.out.println("");
System.out.println("The elapsed time is: " + );
}
public static void main (String args [])
{
int x = 1;
while (x == 1) {
Scanner input = new Scanner (System.in);
System.out.println("Conversion Tasks");
System.out.println("\t1. Hours -> Minutes");
System.out.println("\t2. Days -> Hours");
System.out.println("\t3. Minutes -> Hours");
System.out.println("\t4. Hours -> Days");
System.out.println("\t5. Elapsed time between two times");
System.out.println("\t6. Exit");
System.out.print("Enter a number: ");
int menu = input.nextInt();
System.out.println("");
if (menu == 1)
hoursToMinutes();
if (menu == 2)
daysToHours();
if (menu == 3)
minutesToHours();
if (menu == 4)
hoursToDays();
if (menu == 5)
elapsedTime();
if (menu == 6)
x = 0;
}
}
}
我只需要帮助
public static void elapsedTime()
{
Scanner input = new Scanner (System.in);
System.out.print("Enter the beginning hour: ");
int startingHour = input.nextInt();
System.out.print("Enter the beginning minute(s): ");
int startingMinutes = input.nextInt();
System.out.print("Enter AM/PM: ");
String startingAmOrPm = input.nextLine();
System.out.print("Enter the ending hour: ");
int endingHour = input.nextInt();
System.out.print("Enter the ending minute(s): ");
int endingMinutes = input.nextInt();
System.out.print("Enter AM/PM: ");
String endingAmOrPm = input.nextLine();
System.out.println("");
System.out.println("The elapsed time is: " + );
}
只需将开始和结束时间转换为从一天的开始(午夜)开始的分钟数。 对于下午,只需将小时数加12,然后再转换为分钟即可。 然后减去并转换回小时和分钟作为经过的时间。
你为什么要手工带几个小时的东西? 当用户登录System.currentTimeMillis()将此时间存储在某处时,读取系统日期
当用户存在时,执行相同的操作获取系统时间。 从用户登录时最初存储的时间中减去该时间。
我希望这是您要找的东西?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.