Kodlarını paylaşacağım uygulama kullanıcı klavyeden sayısal değer olarak -1 girmediği sürece kullanıcıdan sayı alır ve o girilen sayinin asal olup olmadığını ekrana mesaj eder. Bir sayının asal olup olmadığını farklı algoritmalar kullanarak öğrenebiliriz. Ben aşağıdaki algoritmayı kullanmayı uygun gördüm.
Program main kısmı ve Asalmi() fonksiyonundan olusuyor. Kullanıcı ana programda bir sayi giriyor ( -1 girmediği sürece ) ve o girilen sayı direk Asalmi() isimli fonksiyona gönderilerek sayının asal olup olmadığı kullanıcıya mesaj ediliyor.
package asal; import javax.swing.JOptionPane; /** * * @author Aytac Cici * Bu program kullanıcı klavyeden -1 girene kadar sayı alır ve alınan her sayının asal olup * olmadıgını kullanıcıya mesaj eder. */ public class Asal { /** * @param args the command line arguments */ public static void main(String[] args) { int girilen=0; do { // Kullanıcıdan bir sayi JOptionPanel kullanarak bir sayi aliyoruz. // JOption a girdiğimiz herşey aslında bir Strigtir bizim bunu sayısal bir değere // çevirmemiz lazım o yüzden Integer.parseInt metodu ile Stringi Integer'a cevirdik // ve elde ettigimi integer sayiyi Asalmi(int) isimli fonkisyona gonderdik. Asalmi(girilen=Integer.parseInt(JOptionPane.showInputDialog("Asalligini Kontrol Etmek İstedigini Sayiyi Girin : "))); }while(girilen!=-1); // Kullanıcı -1 girmediği sürece. } // Asalmi() isimli fonksiyon parametre olarak bir integer alir. public static void Asalmi(int sayi) { int i ; int sayac=0; if(sayi==2) // Eger gelen sayi 2 ise zaten asaldır. System.out.println(sayi + " Sayisi Asaldir"); else { // 2 den farklı değerler içinse su algoritmayı kullanacagız. /** Eğer bir sayi asalsa bir kendisine birde 1 e bolunebilir demektir yani toplm bolen sayısı 2 den fazla olamaz. Yani biz diyebiliriz ki bir sayinin iki boleni varsa bu sayı asaldır daha fazla ise bu sayı asal değildir **/ for(i=1; i<=sayi; i++) // i değerini 1 baslattık cunku 0 dan baslatırsak sıfıra bolme hatası alırız. { if(sayi%i==0) // gelen sayi su anki i değerine tam bolunebiliyorsa Sayacı bir arttır. // burada i gelen sayiya gore değer alir , kullanıcı 5 gonderdi diyelim // i değerleri sırasıyla 1,2,3,4,5 olacaktır. // 5 sayisinin bunlardan kacının tam boldugu kontrol edilcektir. Görüldüğü üzere // 5 sayisini tam bolen 1 ve 5 vardır. Bu durumlarda sayac artacaktır. baska durumda sayac artmadı // için sayac=2 olacak ve sayımızın asal oldugu ortaya cıkacaktır. sayac++; } if (sayac==2) System.out.println(sayi + " Sayisi Asaldir"); else System.out.println(sayi + " Sayisi Asal Degildir"); } } } |
Çok işime yaradı, saol