繁体   English   中英

用过的时间在Java中?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM