Java'da yaş hesaplama 1.Hafta Ödev 1
- Gökhan Birkin
- 21 Eki 2017
- 1 dakikada okunur
1.Hafta Ödev
1-)Bu günün tarihini gösteren üç tamsayı (gün, ay, yıl) ve birinin doğum gününü gösteren diğer üç tamsayı verildiğinde o kişinin yaşını hesaplayınız.
->Bu günün tarihini veren üç tam sayı -> x.y.z
->Birinin doğum gününü gösteren diğer üç tam sayı -> a.b.c
-> Önce günler arasında çıkarma işlemi yapılır, eğer a>x ise y den 1 çıkarılır ve x e 30 eklenir->g=x-a
->Sonra aylar arasında çıkarma işlemi yapılır, eğer b>y ise z den 1 çıkarılır ve y ye 12 eklenir->ay=y-b
->En son yıllar arasında çıkarma işlemi yapılır -> yıl=z-c
->Kişinin yaşı ‘yıl’ ile belirttiğimiz değişkendir.
Örnek:
21.10.2017
02.04.1994
gün = 21 – 02 > gün = 19 // 21>02 olduğu için 30 eklemedik
ay = 10 – 04 > ay = 6 // 12>04 olduğu için 12 eklemedik
yıl = 2017 – 1994 -> yıl = 23
Yaş -> 23
Kod:
package yashesaplama;
import java.util.Date;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.text.ParseException;
import java.util.Scanner;
public class YasHesaplama {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
Date zaman = new Date();
System.out.println(zaman.toString());
DateFormat sD = new SimpleDateFormat("dd");
DateFormat sM = new SimpleDateFormat("MM"); // mm yapınca olmuyor MM olması gerek
DateFormat sY = new SimpleDateFormat("yyyy");
int x = Integer.parseInt(sD.format(zaman));
int y = Integer.parseInt(sM.format(zaman));
int z = Integer.parseInt(sY.format(zaman));
System.out.println("Hoşgeldiniz. Sırasıyla önce gün sonra ay ve sonra yıl olacak"
+ " şekilde doğum tarihini giriniz:");
int a = scan.nextInt();
int b = scan.nextInt();
int c = scan.nextInt();
int gun, ay, yil;
if(x<a){
gun = x - a +30;
--y;
}
else
gun = x - a;
if(y<b){
ay = y - b +12;
--z;
}
else
ay = y - b;
yil = z - c;
System.out.println("Yas = "+yil);
System.out.println("Tam yas = "+gun+"/"+ay+"/"+yil);
}
}
Comments