วันพุธที่ 22 มกราคม พ.ศ. 2557

ตัวอย่างโค้ดโปรแกรมคำนวณค่าจอดรถ

ตัวอย่างโค้ดโปรแกรมคำนวณค่าจอดรถ

ต้องการเขียนโปรแกรมโดยมีเงื่อนไขดังนี้

- มีการส่งพารามิเตอร์ดังนี้ double xxx(Date TimeIn , Date TimeOut)
- 3 ชั่วโมงแรกคิดค่าจอด 20 บาท ต่อไปชั่วโมงละ 10 บาท ถ้าเกิน 30 นาทีปัดขึ้น น้อยกว่าปัดลง
- ถ้าเกิน 24 ชั่วโมง คิดค่าจอดเป็นวัน วันละ 500 บาท เศษที่เกินคิดตาม Concept ข้างต้น

import java.math.RoundingMode;
import java.text.DateFormat;
import java.text.NumberFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;

public class parking {
    public static void main(String[] args) throws ParseException {
        Scanner in = new Scanner(System.in);
        DateFormat formatT = new SimpleDateFormat("yyyy-MM-dd-HH-mm");
     
        System.out.print("TimeIn(yyyy-MM-dd-HH-mm) : ");
        String fromin = in.nextLine();
        Date din = formatT.parse(fromin);
     
        System.out.print("TimeOut(yyyy-MM-dd-HH-mm) : ");
        String fromout = in.nextLine();
        Date dout = formatT.parse(fromout);

        System.out.println("You will have to pay : " + kidTang(din, dout) + " Baht");
    }

    public static double kidTang(Date datein, Date dateout){
        double sum = 0;
        double milliTime = dateout.getTime() - datein.getTime();

        NumberFormat nf = NumberFormat.getNumberInstance();
        nf.setMaximumFractionDigits(0);
        nf.setRoundingMode(RoundingMode.HALF_UP);
        int hour = Integer.parseInt(nf.format(milliTime/(1000*60*60)));

        sum = sum + (hour/24)*500;
        hour = hour%24;

        if(hour <= 3) sum = sum + hour*20;
        else sum = sum + 3*20 + (hour-3)*10;

        return sum;
    }
}

yengo หรือ buzzcity

ไม่มีความคิดเห็น :

แสดงความคิดเห็น