Şimdi Ara

Arraye object atama

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
5
Cevap
0
Favori
624
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • public class Block {

    Flat[] flats;

    // inner class
    class Flat {

    Room[] rooms;

    // inner class
    class Room {
    private int width;
    private int height;
    private int numWindow;

    // constructor
    // Fill in the marked area
    // Do not change anything else
    // For each creating room object, array "rooms" must be extended
    // Clearly, add new Room to end of array, update the array
    public Room(int width, int height, int numWindow) {
    super();
    this.width = width;
    this.height = height;
    this.numWindow = numWindow;

    //**********************************************
    //**********************************************
    }

    // Please do not change anything in this method.
    @Override
    public String toString() {
    return width + "/" + height + "/" + numWindow;
    }
    }

    // constructor
    // Fill in the marked area
    // Do not change anything else
    // For each creating flat object, array "flats" must be extended
    // Clearly, add new Flat to end of array, update the array
    public Flat() {
    super();
    rooms = new Room[0];

    //**********************************************
    //**********************************************
    }
    }

    Okuldan verilen ödevde "For each creating flat object, array "flats" must be extended" kısmını anlayamadım.Ayrıca oluşturulan test class ının içinde objectler oluşturulmuş bir şekilde verilmiş ama ben bu objectleri array e atayamadım.
    Bu sorunun üstesinden nasıl gelebilirim?



    < Bu mesaj bu kişi tarafından değiştirildi onbindolar -- 20 Mayıs 2018; 5:4:30 >







  • Valla berbat bir ödev. Şunu hazırlayan kişinin derhal görevden alınması lazım.

    Oradaki array'leri dinamik olarak grow etmeni istiyor. Fakat Java'da array'ler fixed size'dır, dinamik olarak resize edemezsin, öyle bir şey lazım olursa ArrayList<Room> gibi bir container kullanırsın. Böyle olmaz.

    Niye super() çağırıyor? extend ettiği bir class yok (Object hariç, o da default zaten).

    Bir de, nested class değil inner class kullandığının farkında mı acaba bu adam? neyi öğretmeye çalışıyor? böyle bir pattern yok... composition yapmaya çalışıyorsa bu değil.

    ingilizcesi de berbat, array extend edilmez ya, gerizekalı bidon.. nasıl küfrettim, yazmıyorum buraya. Allah sabır versin size valla, ne diyim

    < Bu ileti mini sürüm kullanılarak atıldı >
  • seyfi84 S kullanıcısına yanıt
    Peki hocam array liste dönüştürüp nasıl bir atama yapabilirim.

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • Olabilir yanlız Flat altındaki

    Room[ ] rooms yerine ArrayList<Block.Flat.Room> rooms;

    Rooms sınıfı altında doldurulacak kısma rooms.add(this);

    Ve en alttaki Flats konstrüktörüne de rooms = new ArrayList<Block.Flat.Room>(); yazmalısın.



    Fakat öyle bir durumda hocanın istediği Array tipi yerine ArrayList kullandığın için hoca böyle bir çözümü kabul etmeyebilir, belki.

    < Bu ileti mini sürüm kullanılarak atıldı >
  • çok sağol hocam.
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.