Skip to main content

Java’da Rastgele Karakterler Üretmek

Merhabalar . Derslerin yoğunluğundan ötürü uzunca bir süredir  blog yazamadığımın farkına vardır ve gecenin bu saatinde bir şey paylaşma isteği doğdu. 🙂

Java’da basit bir sınıf  yazdım ve bunu paylaşmak istedim.  Bu sınıf ne işe yarar ? Hepimiz mutlaka bir yerlerde rastgelmişizdir rastgele  parola  üreten sitelere yada programlara.  İşte bu sınıf tam olarak bu işlemi yapıyor.    Bu Java sınıfı rastgele karakter üretmek üzere yazıldı.  Kullanıcı   istediği  aralıkta rastgele karakter üretebiliyor.  Bir değişken vasıtasıyla  istediğimiz uzunlukta  stringlerde oluşturabiliriz böylelikle.

Şimdi sınıfın kodlarını paylasayim. Gerekli acıklamaları kodların arasına yazdım.  Umarım bir yerlerde işinize yarar 🙂

 

karakterUretme sınıfı :


/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package karakteruret;

/**
 *
 * @author Aytac Cici
 */
public class KarakterUret {

    /**
     * Aytaç Cici http://www.aytaccici.com
     * 
     */
    public  char karakterUret(char karakter1 , char karakter2){
       // Parametre  olarak gobderilen iki karakter arasında  karaktr üretilecek
        // orneggin a - e girdik diyelim program a,b,c,d,e karakterlerini üretecektir
        
        
        return (char)(karakter1+Math.random()*(karakter2-karakter1+1));
       
    }
    
     public  char karakterUret(){
       
       // Herhangi bir karakter üretir.  Overload yaptık 
         // asci kodlarla hareket ediyoruz 0-255 arası bir kod üretebilir 
        
        return karakterUret('\u0000','\uFFFF');
       
    }
    
   public  char kucukKarakterUret(char karakter1 , char karakter2){
       
       return karakterUret('a', 'z');
   }
   
    public  char buyukKarakterUret(char karakter1 , char karakter2){
       
       return karakterUret('A', 'Z');
   } 
    
     public  char rakamUret(char karakter1 , char karakter2){
       
       return karakterUret('0', '9');
   } 
}


Bu sınıfı kullandığımız ana program ise aşağıdaki gibidir. String Builder nesnesi kullanarak üretilen tek karakteri birleştirerek çok karakterden oluşan şeyler ürettik.



/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package karakteruret;

/**
 *
 * @author Aytac Cici
 */
public class testKarakterUret {
   
    public static void main(String args []){
        
       KarakterUret karakterUretici = new KarakterUret();
       int kacKarakter = 10; // Karakter uzunlugunu bu degisken ile berlileyeceğiz
       StringBuilder sadeceKarakterler =  new StringBuilder("");
       StringBuilder sadeceRakamlar =  new StringBuilder("");
       StringBuilder butunKarakterler =  new StringBuilder("");
       char uretilenKarakter; 
       char uretilenRakam;
       char karakterRakam;
        for (int i = 0; i < kacKarakter; i++) {
              // sadece A - Z arası karakterler üretir
              uretilenKarakter=karakterUretici.buyukKarakterUret('A', 'Z');
              uretilenRakam=karakterUretici.rakamUret('0', '9');
              karakterRakam=karakterUretici.karakterUret();
            sadeceKarakterler.append(uretilenKarakter);
            sadeceRakamlar.append(uretilenRakam);
            butunKarakterler.append(karakterRakam);
        }
       
       
       System.out.println(sadeceKarakterler);
       System.out.println(sadeceRakamlar);
        System.out.println(butunKarakterler);
    }
    
    
}

Umarım bir yerlerde yararı olur. Görüşmek dileğiyle 🙂

Share and Enjoy

  • Facebook
  • Twitter
  • Delicious
  • LinkedIn
  • StumbleUpon
  • Add to favorites
  • Email
  • RSS

Aytaç Cici

İstanbul Üniversitesi Bilgisayar Mühendisliği mezunu bir Yazılım Geliştirici. Çeşitli zamanlarda Java, PHP, C# ve Delphi gibi diller kullanarak yazılım geliştirmiştir. Bir dönem SEO alanında da çalışmalar yapmıştır.

Java’da Rastgele Karakterler Üretmek” hakkında 7 yorum

  1. Üniversite günlerimde deli gibi araştırırdım bu konuları tam kurtuldum derken şimdide öğretmenlik vay benim halime o zamanlar ben ödev için araştırırdım şimdi öğrencilerim araştıracak .d

    Emeğinize sağlık. Yararlı bir paylaşım yapmışsınız.

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Email
Print