2012-12-26 2 views
0

자바 클래스에서 숙제를하고 있습니다. 나는 경과 시간에 관한이 부분을 제외하고는 대부분을 가지고있다. 우리는 방법을 사용해야합니다. 여기에 과제와 코드가 있습니다.Java의 경과 시간은?

"회사에 고용되어 방금 주간 급여를 수행해야합니다. 매일 수행해야하는 기능 중 하나는 직원 시간 카드를 확인하고"펀치 인 "과"펀치 인 "사이의 경과 시간을 계산하는 것입니다. "펀치 아웃 (punch out)"또한 때로는 시간에서 분, 일에서 시간, 분에서 시간 및 시간에서 일로 변환해야합니다. 첫 프로그래밍 수업을 마친 직후부터 일을하는 데 도움이되는 프로그램을 작성하기로 결정했습니다

다음과 같은 방식으로 프로그램을 구성하기로 결정했습니다. 주 기능은 원하는 정보를 얻기 위해 사용자가 선택할 수있는 메뉴 일 뿐이며, 메뉴의 각 옵션은 (는) 특정 메소드를 호출합니다. 과제 해결 및/또는 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 pm 이상 12에 추가). – Max

+0

그렇게 생각합니다. 선생님은별로 구체적이지 않았습니다. 그는 단지 이것을 우리에게 예제 출력으로주었습니다. 14 은 AM/PM을 입력 : 8 가 시작하는 분을 입력 경과 시간 변환 는 시작 시간을 입력 오전 종료 시간 입력 : 47 은 AM/PM을 입력 : 오후 이 끝나는 분을 입력을 경과 시간은 다음과 같습니다. hrs ?? min –

답변

3

시작일과 종료 시간을 시작일부터 자정에 분으로 변환하면됩니다. p.m.의 경우 분 단위로 변환하기 전에 시간에 12를 더하십시오. 그런 다음 시간을 빼고 시간과 분으로 변환하십시오.

+0

이것은 효과가있었습니다. 고맙습니다. –

-2

도움을 필요로 할 때에 System.currentTimeMillis 사용자가 로그인() 이 시간을 어딘가에 저장하십시오.

사용자가 존재하면 시스템 시간을 얻으십시오. 사용자가 처음 로그인했을 때 저장 한 시간에서 빼십시오.

나는 이것이 무엇을 찾고있는 것이기를 바랍니다.

+1

그것은 과제와 일치하지 않습니다. –

+2

이것은 숙제입니다. 사용자가 숫자를 입력 할 위치. 당신이 그에게 말하는 것은 완전히 다릅니다. – Smit

+1

그것이 우리가 어떻게해야하는지에 대한 것입니다. 또한, 내가 찾던 것이 정확하지 않습니다. 그것은 사용자 로그인에 대한 경과 시간을 요구하지 않습니다. 당신이 입력 한 두 시간 사이의 경과 시간입니다. –

관련 문제