Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Scanner;
- import java.time.LocalDate;
- public class Main{
- //scanner
- private static final Scanner scan = new Scanner(System.in);
- //ambil tahun sekarang
- private static final int year = LocalDate.now().getYear();
- //ambil bulan sekarang
- private static final int month = LocalDate.now().getMonthValue();
- //ambil tanggal sekarang
- private static final int day = LocalDate.now().getDayOfMonth();
- /**
- * @param str buat nentuin validasi tahun / bulan / tanggal
- * fungsi buat nerima inputan user aja, biar ganulis berkali2, dibikin fungsi
- */
- private int userInput(String str){
- int n,val;
- n = val = 0;
- /*
- kalau parameternya tahun berarti, nanti user gaboleh masukkin tahun yang lebih dari tahun sekarang
- misal sekarang tahun 2017, user gaboleh input 2018
- */
- if( str == "tahun" ) val = year;
- /*
- kalau parameternya bulan, user gaboleh masukkin bulan ke 13
- */
- if( str == "bulan" ) val = 12;
- /*
- kalau parameternya tanggal, user gaboleh masukkin tanggal ke 31 (standarisasi 1 bulan cuma 30 hari)
- */
- if( str == "tanggal" ) val = 30;
- //validasi user gaboleh masukkin angka minus
- do{
- try{
- System.out.print("Masukkan " + str + " lahir : ");
- n = scan.nextInt();
- }catch(Exception e){}
- scan.nextLine();
- }while( n < 0 || n > val );
- //return inputan user setelah divalidasi
- return n;
- }
- private Main(){
- //variable inputan user
- int y,m,d;
- //variable hasil pengurangan sekarang dengan inputan user
- int age_d,age_m,age_y;
- y = m = d = age_y = age_m = age_d = 0;
- //user input tahun
- y = userInput("tahun");
- //user input bulan
- m = userInput("bulan");
- //user input tanggal
- d = userInput("tanggal");
- /*
- pengurangan biasa
- misalkan tanggal sekarang
- 2017 09 25
- 1998 06 28
- __________ -
- kalau misalkan 25 - 28 kan minus, minjem satu dari bulan jadinya
- 2017 08 55
- 1998 06 28
- __________ -
- tanggalnya ditambah 30 biar bisa dikurangin, bulannya dikurangin 1
- */
- if( day - d < 0 ){
- --month;
- day += 30;
- }
- if( month - m < 0 ){
- --year;
- month += 12;
- }
- //cari selisih tanggal, bulan, tahun
- age_d = day - d;
- age_m = month - m;
- age_y = year - y;
- //ubah tahun & bulan ke hari
- int age = (age_y*365) + (age_m*30) + age_d;
- //output
- System.out.println("Umur anda : " + age + " hari");
- }
- public static void main(String []args){
- new Main();
- }
- }
Add Comment
Please, Sign In to add comment