0

従業員の ID 番号、入退室時間を入力するプログラムを作成するように依頼されました。データは .txt ファイルに書き込まれます。私は FileWriter を使用することになっていることを理解していますが、情報をタブで表示できるかどうか尋ねてもよろしいですか? .txt ファイルを次のようにしたいと思います。

Name     Time in     Time out     Total hours worked     Salary
Name1    08:00       05:00        9                      4000
Name2    09:00       04:00        7                      3000

また、12 時間単位で総労働時間を計算するにはどうすればよいでしょうか。ここに私のソースコードがあります:

import java.util.Scanner;
import java.io.*;
import java.util.Date;
import java.text.DateFormat;
import java.text.SimpleDateFormat;

class AYANYAN
{static String ans ;
static int empNumber ;
static String timeIn, timeOut;
static Scanner s = new Scanner(System.in);
static String name[] = { "Ayan Ramirez", "Jenifer Sumbi", "Gen Estrada" , "Tugba Cakir", "Lennox Schatje Huisden"};


public static void main(String args[])throws IOException
{
    FileWriter fWriter = new FileWriter("EmpData.txt");
    for (int i = 0; i < name.length; i++)
    {
        fWriter.write(name[i] + "\n");
    }
    fWriter.close();

    start () ;

}

public static void control ()
{
    System.out.print ("\n\nPlease select one of the following: \nA. Sign Off\nB. Enter Time in\nC. Enter Time out\nD. Exit Program\n") ;
    ans = s.next() ;

    if (ans.equalsIgnoreCase("A")){
        signOff () ;
    } else if (ans.equalsIgnoreCase("B")) {
        timeIn () ;
    } else if (ans.equalsIgnoreCase("C")) {
        timeOut () ;
    } else if (ans.equalsIgnoreCase("D")){
        System.out.print ("\nBYE!\n\n\nProgram made by: Ayan Ramirez\n") ;
    } else {
        System.out.print ("ERROR!") ;
        System.exit(0);
    }
}

public static void start ()
{
    System.out.print ("Please enter your id number: ") ;
        empNumber = s.nextInt();

        if (empNumber == 12345){
        System.out.print ("\nSigned in as: " + name[0]);
        control() ;

        } else if (empNumber == 12346){
        System.out.print ("\nSigned in as: " + name[1]);
        control() ;

        }else if (empNumber == 12347){
        System.out.print ("\nSigned in as: " + name[2]);
        control() ;

        }else if (empNumber == 12348){
        System.out.print ("\nSigned in as: " + name[3]);
        control() ;

        } else if (empNumber == 12349){
        System.out.print ("\nSigned in as: " + name[4]);
        control() ;

        }
        else {
        System.out.print ("\nNTRUDER ALERT!\n\nPLEASE ENTER THE CORRECT ID NUMBER!") ;
        start () ;
        }
}

public static void signOff ()
{
    System.out.print ("Signing off...\n") ;
    start () ;
}

public static String timeIn ()
{
    System.out.print ("Please enter time in: ") ;
    timeIn = s.next () ;
    control () ;

    return (timeIn) ;
}

public static String timeOut ()
{
    System.out.print ("Please enter time out: ") ;
    timeOut = s.next () ;
    control () ;

    return (timeOut) ;
}
}
4

3 に答える 3

1

この種の出力を生成する最も簡単な方法は、使用することです。String.format()そのフォーマット文字列構文は、日付と時刻のフォーマットだけでなくパディングもサポートしています。

于 2012-01-23T08:50:42.297 に答える