Java'da iç içe if bloklarının kodlanmasına örnek olması amacıyla aşağıdaki şartlara bağlı olarak kişinin ideal kilosunu hesaplayan bir program yapalım:
- Kilo yaşa ve cinsiyete göre değişiklik göstermekte olsun.
- 50 yaşın altındaki erkekler için ideal kilo = 50 + 2,3 * (boy (inç) - 60)
- 50 yaşın altındaki kadınlariçin ideal kilo = 45.5 + 2,3 * (boy (inç) - 60)
- 50 yaşın üzerindeki erkekler için ideal kilo = 52 + 2,3 * (boy (inç) - 60)
- 50 yaşın altındaki kadınlar için ideal kilo = 47.5 + 2,3 * (boy (inç) - 60)
- Kullanıcı boyunu cm cinsinden yazacak, program arka planda 1 inç=2.54 cm çevirisini yapacak
- Kullanıcı cinsiyetini ve yaşını yazacaktır, program arka planda kişinin ideal kilosunu hesaplayacak
- Program çıktıyı vermeden önce bir hesaplanıyor animasyonu kullanacak. Animasyon için bu bekleme örneğini inceleyebilirsiniz.
- Kullanıcı mevcut ağırlığını yazacak, program da en sonunda kullanıcıya kaç kg alması/vermesi gerektiğini söyleyecek. Eğer kişi zaten ideal kilosunda ise program bunu da tespit edecek ve formunu korumasını tembihleyecek.
- Program kullanıcıya ideal kilosunu ve ideal kiloya ulaşmak için kaç kilo alması/vermesi gerektiğini söylerken xx.xx gibi 2 basamaklı küsürat çıktı verecek. Belirli bir sayıda basamak yazdırmak için Java'da formatlı çıktı almak konusundaki örnekleri inceleyebilirsiniz.
public static void main(String [] args) {
Scanner girdi=new Scanner(System.in);
System.out.println("Lütfen cinsiyetinizi yazın");
String cinsiyet=girdi.next();
System.out.println("Lütfen boyunuzu cm cinsinden yazın");
int boy=girdi.nextInt();
System.out.println("Lütfen yaşınızı yazın");
int yas=girdi.nextInt();
System.out.println("Lütfen mevcut ağırlığınızı kg cinsinden yazın");
double kilo=girdi.nextDouble();
double idealKilo=0;
if (yas<50)
{
if (cinsiyet=="erkek")
{
idealKilo=45.5 + 2.3 * ((boy/2.54)-60);
}
else
{
idealKilo=50 + 2.3 * ((boy/2.54)-60);
}
}
else
{
if (cinsiyet=="erkek")
{
idealKilo=47.5 + 2.3 * ((boy/2.54)-60);
}
else
{
idealKilo=52 + 2.3 * ((boy/2.54)-60);
}
}
//bekleme
System.out.print("İdeal kilonuz hesaplanıyor");
for (int i=1; i<=5; i++)
{
try
{
Thread.sleep(1000);
}
catch(InterruptedException ex)
{
Thread.currentThread().interrupt();
}
System.out.print(".");
}
System.out.println("");
//çıktı
System.out.printf("ideal kilonuz: %2.2f\n",idealKilo);
if (kilo > idealKilo)
{
System.out.println("İdeal kilonuzdan daha fazlasınız");
System.out.printf("%2.2f kg vermelisiniz\n",(kilo-idealKilo));
}
else if (kilo < idealKilo)
{
System.out.println("İdeal kilonuzdan daha düşüksünüz");
System.out.printf("%2.2f kg almalısınız\n",(idealKilo - kilo));
}
else
{
System.out.println("Tam olarak ideal kilodasınız, formunuzu korumaya devam edin");
}
}
Çıktı:
Lütfen cinsiyetinizi yazın
erkek
Lütfen boyunuzu cm cinsinden yazın
175
Lütfen yaşınızı yazın
38
Lütfen mevcut ağırlığınızı kg cinsinden yazın
76
İdeal kilonuz hesaplanıyor.....
ideal kilonuz: 70,46
İdeal kilonuzdan daha fazlasınız
5,54 kg vermelisiniz