Nesne Tabanlı Programlama (Güz-2016) Hafta-13
package calisma.main; import calisma.yfonksiyon.sayi; import calisma.islemler.dizi; import calisma.islemler.tekil; public class baslangic extends sayi{ public baslangic() { startup(); } public void menu() { boolean durum=true; dizi d = new dizi(); tekil t = new tekil(); do{ ekranayaz("Menu:\n\n1)Dizi İşlemleri\n2)Tekil Sayı İşlemleri\n3)Çıkış"); String veri = verigetir("Seçiniz:"); switch(veri) { case "1": d.startup(); break; case "2": t.startup(); break; case "3": durum=false; ekranayaz("Çıkış Yapılıyor"); break; default: ekranayaz("Hatalı Giriş"); } }while(durum); } public static void main(String[] aas){ new baslangic(); } }
package calisma.yfonksiyon; public abstract class sayi{ public abstract void menu(); public void startup() { menu(); } public String verigetir(String msg) { return System.console().readLine(msg); } public void ekranayaz(String msg) { System.out.println(msg); } public int sayigirint(String msg){ int sayi=0; boolean durum=true; do{ try{ sayi=Integer.parseInt(verigetir(msg)); durum=false; } catch(Exception ex) { ekranayaz("Sayı formatı geçersiz!"); } } while(durum); return sayi; } }
package calisma.islemler; import calisma.yfonksiyon.sayi; import java.util.*; public class dizi extends sayi{ private int[] elemanlar; public void menu() { boolean durum=true; do{ ekranayaz("Dizi İşlemleri:\n\n1)Sayi Gir\n2)Max/Min\n3)Ortalama\n4)Ana menü"); String secim = verigetir("Seçim:"); switch(secim) { case "1": sayigir(); break; case "2": maxmin(); break; case "3": ortalama(); break; case "4": durum=false; break; default: ekranayaz("Hatalı Giriş"); break; } }while(durum); } public void sayigir() { int adet = sayigirint("Girilecek sayı adedi:"); elemanlar= new int[adet]; for(int i=0;i<adet;i++) elemanlar[i]=sayigirint((i+1)+". sayı:"); } public void kontrol() { if(elemanlar!=null && elemanlar.length>0) return; sayigir(); } public void maxmin() { kontrol(); Arrays.sort(elemanlar); ekranayaz("Max: "+elemanlar[elemanlar.length-1] +" Min: "+elemanlar[0]); } public void ortalama() { kontrol(); double toplam=0; for(int i =0;i<elemanlar.length;i++) toplam+=elemanlar[i]; double ort = toplam/elemanlar.length; ekranayaz("Ortalama: "+ort); } }
package calisma.islemler; import calisma.yfonksiyon.sayi; public class tekil extends sayi{ int eleman; boolean islem=false; public void menu() { boolean durum=true; do{ ekranayaz("Tekil İşlemleri:\n\n1)Sayi Gir\n2)Tek-Çift\n3)Ana menü"); String secim = verigetir("Seçim:"); switch(secim) { case "1": sayigir(); break; case "2": tekcift(); break; case "3": durum=false; break; default: ekranayaz("Hatalı Giriş"); break; } }while(durum); } public void sayigir() { eleman = sayigirint("Sayı Giriniz:"); islem=true; } public void kontrol() { if(islem) return; sayigir(); } public void tekcift() { kontrol(); if(eleman%2==0) ekranayaz(eleman+" sayısı çift"); else ekranayaz(eleman+" sayısı tek"); } }