Şimdi Ara

Java Tekrarsız Random Yardım

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
7
Cevap
0
Favori
1.317
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Merhaba ben bi android uygulaması yazıyorum ama random üretirken mesela 3 çıktı diyelim bidaha hiç 3 çıkmamasını nasıl sağlarız ?
    Kodlarım :


    public String getbilgi() {
    String bilgi = "";
    Random rasgelesay = new Random();
    int rastgelesayı = rasgelesay.nextInt(mdurumlar.length);
    bilgi = mdurumlar[rastgelesayı];
    return bilgi;

    }



  • Üretilen sayıları bir yerde (örneğin bir dizide, veya stringde) tutarsınız, her yeni sayı üretildiğinde ekleme (veya geri dönüş) yapmadan önce sayıları tuttuğunuz yerde bu sayı var mı kontrol edersiniz, eğer varsa yeni sayı üretilmesini yoksa bu sayının kabul edilmesini sağlarsınız. Ne kadar uzun bir cümle oldu bu, umarım anlamışsınızdır.
  • Saol mantık olarak anladım bi string yada int deposu gibi bişey oluşturcaz random sayı alırken onun içinde varmı yokmu diye kontrol edce anladım ama biraz kopya verebilirmisiniz ?
  • Atıyorum
     
    String uretilenler = ""; //global olarak tanımlı

    while(1)
    {
    Random r = new Random();
    int sayi = r.nextInt();
    if(!uretilenler.equals(String.valueOf(sayi))) { // eğer o sayı uretilenlerin içinde yoksa
    uretilenler += String.valueOf(sayi) + ","; // virgülü ekledik ki 34,54 sayılarını 3454 olarak algılamasın
    break; // sayı yoksa eklenip while'dan çıkarız
    }
    // eğer if şartı sağlanmazsa içine girmez ve break; çalışmaz if sağlanana kadar while dönecek
    }



    Benzer mantıkla dizi ile de yapılabilir, dizi ile yapılırsa dizide dolaşım gerekecek.
  • Set Data structure ini kullan.
    Set -> unique elemanlar icerir. Her random sayiyi sete atarsin, sonra da set.contains() ile var mi diye bakarsin.
    Ayrica List e de oldugu gibi eleman var mi yok mu diye kontrol etmek O(n) zaman da almaz, hash fonksiyonu uzerinden kontrol eder, gayet de hizli olur.
    Java'da Set i inceleyebilirsin.

    < Bu ileti tablet sürüm kullanılarak atıldı >
  • Birşey daha sorabilirmiyim şimdi ben android için bir uygulama geliştiriyorum uygulamanın içinde whatsapp adı geçse telif yermiyim ?

    < Bu ileti mini sürüm kullanılarak atıldı >
  • quote:

    Orijinalden alıntı: Mephalay

    Set Data structure ini kullan.
    Set -> unique elemanlar icerir. Her random sayiyi sete atarsin, sonra da set.contains() ile var mi diye bakarsin.
    Ayrica List e de oldugu gibi eleman var mi yok mu diye kontrol etmek O(n) zaman da almaz, hash fonksiyonu uzerinden kontrol eder, gayet de hizli olur.
    Java'da Set i inceleyebilirsin.

    Dili bilenle bilmeyen böyle ayrılıyor işte :)
  • Yapay Zeka’dan İlgili Konular
    Daha Fazla Göster
    
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.