Nesne Tabanlı Programlama-1 (Yaz-2016) Hafta-5

package hafta5.main;

import hafta5.islemler.basamakislem;
import hafta5.islemler.enbuyukasalbolen;
import hafta5.islemler.mukemmelsayi;

import java.util.Scanner;

public class calistir {

	public calistir() {
	
		int sayi=0;
		
		boolean devam=true;
		
		do{
			System.out.println("..::MENU::..");
			System.out.println("1) Sayı Girişi Yapın");
			System.out.println("2) En Büyük Asal Böleni");
			System.out.println("3) Basamak Rakam Durumları");
			System.out.println("4) Mukemmel Sayı Testi");
			System.out.println("5) Çıkış");
			
			System.out.print("Seçim Yapınız:");
			String veri = new Scanner(System.in).nextLine();
			
			// ilk calistirmada 2-3-4 secenekleri dogrudan secilmis ise sayi girisi yaptiriyoruz
			if(sayi==0 && (veri.equals("2")||veri.equals("3") || veri.equals("4")))
				sayi=sayigetir();
			
			
			switch (veri) {
			case "1": sayi=sayigetir();
				break;
			case "2": new enbuyukasalbolen(sayi);
				break;
			case "3": new basamakislem(sayi);
				break;
			case "4": new mukemmelsayi(sayi);
				break;
			case "5": System.out.println("Çıkış Yapılıyor!"); devam=false;
				break;

			default:  System.out.println("Geçerli Bir Seçim Yapmadınız!");
				break;
			}
			
		}while(devam);
				
	}

	private int sayigetir()
	{
		boolean durum=true;
		int sayi=0;
		do{
			
			try{
				System.out.print("Sayı Giriniz:");
				sayi = new Scanner(System.in).nextInt();
				
				//String metin = System.console().readLine();
				//sayi = Integer.parseInt(metin);
				
				durum=false;
				
				// sayi>1 
				if(sayi<2)
					durum=true;
				
			}catch(Exception ex)
			{
				durum=true;			
			}
	
			if(durum)
				System.out.println("Girilen Sayı Bilgisi Hatalı!");			
			
		}while(durum);
		
		return sayi;
	}
	
	public static void main(String[] args) {
		new calistir();
	}

}
package hafta5.islemler;

public class basamakislem {

	public basamakislem(int sayi) {
		
		int toplam=0;
		int enbuyuk=-1;
		int enkucuk=-1;
		
		while(sayi>0)
		{
			int birler = sayi%10;
			sayi-=birler;
			sayi/=10;
			
			toplam+=birler;
			
			// ilk calismada
			if(enbuyuk==-1)
			{
				enbuyuk=birler;
				enkucuk=birler;
				
			}
			
			
			if(birler>enbuyuk)
				enbuyuk=birler;
			
			if(birler<enkucuk)
				enkucuk=birler;
			
		}
		
		System.out.println("Basamak Toplamları:"+toplam +" en büyük basamak:"+enbuyuk+" en küçük basamak:"+enkucuk);
		

	}

}
package hafta5.islemler;

public class enbuyukasalbolen {

	/*public enbuyukasalbolen(int sayi) {
		
		int enbuyuk=0;
		for(int y=2;y<=sayi;y++)
		{
			int sayac=0;
			for(int x=2;x<=y/2;x++)
			{
				if(y%x==0)
				{	
					sayac++;
					break;
				}
				
			}
			
			if(sayac==0 && sayi%y==0)
			{
				System.out.println(sayi +" degerini bolen asal:"+y);
				enbuyuk=y;
			}	
		}
		
		System.out.println("En buyuk asal:"+enbuyuk);
	
	}*/
	
	public enbuyukasalbolen(int sayi)
	{
		
		
		int enbuyuk=0;
		
		for(int x =2 ;x<=sayi;x++)
		{
			if(sayi%x==0 && asalmi(x))
			{
				enbuyuk=x;
			}
			
		}
		
		System.out.println("En buyuk asal:"+enbuyuk);
		
		
	}
	
	private boolean asalmi(int deger)
	{
		
		for(int i=2;i<=deger/2;i++)
		{
			if(deger%i==0)
				return false;
		}
		
		return true;
	}

}
package hafta5.islemler;

public class mukemmelsayi {

	public mukemmelsayi(int sayi) {
		
		int toplam=0;
		for(int x=1;x<sayi;x++)
		{
			if(sayi%x==0)
				toplam+=x;
			
		}
		
		
		if(toplam==sayi)
			System.out.println(sayi+" sayısı mükemmel sayıdır!");
		else
			System.out.println(sayi+" sayısı mükemmel sayı değildir!");
	}

}

NTP1 (Yaz-2017) Hafta-5

Share