ในบทความนี้ เราจะเรียนรู้วิธีตรวจสอบวันเกิดและแสดงข้อความ "Happy Birthday" ในภาษา Java ทำได้โดยการเปรียบเทียบวันที่ปัจจุบันกับวันเกิดที่กำหนด
ตัวอย่างการทำงาน
อินพุต:
Birthday Date: 15 July
เอาต์พุต:
Today's Date is 2022-02-09 The birthday is defined as: 15 JULY Your birthday is not today
อัลกอริทึม
- เริ่มต้นโปรแกรม
- ประกาศตัวแปรสำหรับเดือนและวัน:
month_of_birth,date_of_birth - รับค่าจากผู้ใช้ หรือกำหนดค่าไว้ล่วงหน้า
- ใช้
LocalDate.now()ดึงวันที่ปัจจุบันเก็บไว้ในตัวแปร - ใช้เงื่อนไข
ifเปรียบเทียบเดือนและวันปัจจุบันกับวันเกิด หากตรงกันแสดงข้อความสุขสันต์วันเกิด - แสดงผลลัพธ์
- จบโปรแกรม
ตัวอย่างที่ 1: ใช้ LocalDate (แนะนำ)
import java.time.LocalDate;
import java.time.Month;
public class HappyBirthday {
public static void main(String args[]) {
int date_of_birth = 15;
Month month_of_birth = Month.JULY;
System.out.println("The required packages have been imported");
LocalDate current_date = LocalDate.now();
System.out.println("Today's Date is " + current_date);
System.out.println("The birthday is defined as: " + date_of_birth + " " + month_of_birth);
int date = current_date.getDayOfMonth();
Month month = current_date.getMonth();
if (date == date_of_birth && month == month_of_birth) {
System.out.println("HAPPY BIRTHDAY TO YOU!!");
} else {
System.out.println("Your birthday is not today");
}
}
}
ตัวอย่างที่ 2: ใช้ SimpleDateFormat (แบบเก่า)
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Birthday {
public static void main(String[] args) throws ParseException {
SimpleDateFormat s = new SimpleDateFormat("MM-dd");
Date today = s.parse("10-15");
Date my_birthday_date = s.parse("10-15");
System.out.println("The birthday date is defined as October 15th");
if (today.compareTo(my_birthday_date) == 0) {
System.out.println("Happy Birthday!!");
} else {
System.out.println("Today is not your birthday");
}
}
}
ตัวอย่างที่ 1 ใช้ API ใหม่ java.time (Java 8+) ซึ่งแนะนำให้ใช้ ตัวอย่างที่ 2 ใช้ SimpleDateFormat แบบเก่า