0

Javaクラスで宿題をしています。経過時間に関するこの 1 つの部分を除いて、ほとんどの情報を取得しました。メソッドを使用する必要があります。これが割り当てと私が持っているコードです。

「あなたは会社に雇われて、週ごとの給与計算を行うことになりました。あなたが毎日実行しなければならない機能の 1 つは、従業員のタイムカードをチェックし、従業員が「パン​​チイン」してから「パンチアウト」するまでの経過時間を計算することです。あなたはまた、時間から分、日から時間、分から時間、時間から日への変換も必要になることがあります. 最初のプログラミング クラスを終えたばかりなので、自分の仕事に役立つプログラムを作成することにしました。

次のようにプログラムを構成することにしました。主な機能は、ユーザーが必要な情報を取得するために選択できるメニューです。メニューの各オプションは、特定のメソッドを呼び出してタスクを解決したり、回答を出力したりします。

このプログラムでは、すべての経過時間は 1 日であると想定できますが、その他の経過時間はさらに長くなる可能性があります。ソリューションが正しいことを実証するために、十分なテスト データを提供してください。(変換ごとに少なくとも 1 つの出力を表示します [オプション #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: " + );
}
4

2 に答える 2

3

開始時刻と終了時刻を、その日の開始 (真夜中) からの分数に変換するだけです。午後の場合は、分に変換する前に時間に 12 を足すだけです。次に、経過時間を減算して、時間と分に戻します。

于 2012-12-26T21:15:29.977 に答える
-2

なぜあなたは時間などを手動で取りたいのですか?? User が System.currentTimeMillis() にログインしたときのシステム日付を読み取り、今回はどこかに保存します

ユーザーが存在する場合は、同じようにシステム時刻を取得します。ユーザーがログインしたときに最初に保存した時間から減算します。

私はこれがあなたが探しているものであることを願っています?

于 2012-12-26T21:12:50.883 に答える