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");
}
}
NTP (Güz-2016) Hafta-13