SORU
9 Temmuz 2014, ÇARŞAMBA


Java'da Boolean bir Dizi doldurma

Oldukça yeşil bir Java kodlayıcı olarak kendimi basit bir metin macera yazmaya çalışıyorum ağır bir meydan okuma olarak ayarladım. Şaşırtıcı olmayan bir şekilde, zaten zorluklarla karşılaştım!

Konum Dersim ihtiva ettiği saklamak için bir özellik vermeye çalışıyorum. Aslında doğru/yanlış değerleri her bir çıkış gösteren tutun bunun için boolean bir dizi kullandım. O tamamen ikna olmuş değilim

a)bu bunu yapmak için en etkili yoldur

b)dizi doldurmak için doğru kodu kullanıyorum.

Eğer tam bir kod üzerinde mesafe için bile olsa her türlü geribildirim takdir ediyorum!

Bir yerde başlatmasını, şu anda, ben setExits yöntemi ile göndermek hangi bir ip oluşturun

    String e = "N S U";
    secretRoom.setExits(e);

Konum sınıfta, setExits bu gibi görünüyor:

public void setExits(String e) {
    if (e.contains("N"))
        bexits[0] = true;
    else if (e.contains("W"))
        bexits[1] = true;
    else if (e.contains("S"))
        bexits[2] = true;
    else if (e.contains("E"))
        bexits[3] = true;
    else if (e.contains("U"))
        bexits[4] = true;
    else if (e.contains("D"))
        bexits[5] = true;
}

Dürüst olacağım, bu özellikle hantal görünüyor bence, ama bunu yapmak için başka bir yol bulamadım. GetExits yöntemi nasıl yazacağımı da tamamen emin oldum

Her türlü yardıma açığız!

CEVAP
9 Temmuz 2014, ÇARŞAMBA


En verimliveetkileyici yolu şudur:

Çıkar çıkmaz enums EnumSet bunları saklamak için kullanın. EnumSet bit alanı numaralandırma sabitleri temsil etmek için kullandığı Set etkili bir uygulama.

Bunu nasıl burada

public enum Exit { North, West, South, East, Up, Down; }

EnumSet<Exit> set = EnumSet.noneOf(Exit.class); // An empty set.

// Now you can simply add or remove exits, everything will be stored compactly

set.add(Exit.North); // Add exit
set.contains(Exit.West); // Test if an exit is present
set.remove(Exit.South); //Remove an exit

Numaralama seti kodunuzu etkileyici yani long her bir çıkış saklama, hızlı ve bellek bir sürü kaydeder.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Christopher Bill

    Christopher

    30 NİSAN 2009
  • Floortile83

    Floortile83

    16 Ocak 2010
  • krotoflik

    krotoflik

    26 ŞUBAT 2011

İLGİLİ SORU / CEVAPLAR