2012-12-26 27 views
0

我正在做我的Java类的家庭作业。除了这部分关于流逝的时间外,我得到了大部分内容。我们必须使用方法。这是我的任务和代码。在Java中消耗的时间?

“你刚刚被一家公司雇佣来做它的每周工资单。你必须每天执行的功能之一是检查员工的时间卡,并计算他们”冲入“时间和“打出来”,你还必须将小时转换为分钟,从几天到几小时,几分钟到几小时,几小时到几天,因为你刚刚完成了第一个编程课程,所以你决定写一个程序来帮助你完成工作

您决定按以下方式构建您的程序:主功能只是一个菜单,用户可以从中选择以获取他们想要的信息菜单上的每个选项都会调用特定的方法以解决任务和/或ou输入答案。

你可以假设这个程序的所有经过时间将在一天内完成,但其他时间可能会更长。请务必提供足够的测试数据以证明您的解决方案是正确的。 (每个转换显示至少一个输出[可能选项#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: " +); 
} 
+3

您是否想减去开始和结束时间,然后打印结果? – hologram

+0

你为什么要让他们分别输入小时和分钟?如果你想计算经过的时间,它会让你的生活变得更容易,只需要将所有的值转换为24小时的时间(例如,将12加到任何大于12的任何东西) – Max

+0

我认为是这样。老师不是很具体。他只给了我们这个例子输出。 经过时间换算 输入起始时间:8 输入开始分钟:14 输入AM/PM:我 输入结束时间:2 输入结束分钟:47 输入AM/PM:PM 所用时间是:?小时分 –

回答

3

只需将自始日起(午夜)开始和结束时间转换为分钟数即可。对于下午,只需在转换为分钟之前将小时添加到12。然后减去并转换回经过时间的小时和分钟。

+0

这工作。谢谢。 –

-2

你为什么要坐时间等东西手动?? 阅读系统日期时System.currentTimeMillis的()用户登录将此时间存储在某个地方

当用户存在时也可以获取系统时间。从用户登录时最初存储的时间减去它。

我希望这是你在找什么?

+1

这与作业不符。 –

+2

这是作业。用户将输入一些数字。你告诉他的是完全不同的。 – Smit

+1

这就是我们被告知要这样做的原因。另外,那不是我正在寻找的。这不是要求用户登录所用的时间。这只是你输入的两个不同时间之间的时间间隔。 –