Şimdi Ara

Java Bilenlere Küçük Bir Soru

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir (1 Mobil) - 1 Masaüstü1 Mobil
5 sn
9
Cevap
0
Favori
1.730
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
Öne Çıkar
0 oy
Sayfa: 1
Giriş
Mesaj
  • Daha önce burda bi kaç defa soru sordum sağolsun yardımcı olanlar oldu. Şimdi yeni bi soruyla karşı karşıyayım

    şöyle bi class var

    public class Drive {
    public static void main(String args[]) {
    A a = new A();
    System.out.printf( "%2d%s\n",a.x+1,new A());
    a.y.d();

    }
    }

    programın outputu aşağıdaki gibi olacak şekilde devam etmeliymiş.

    5x4
    hello


    esasında çok basit gibi duruyor lakin java için başlangıç seviyesinde olmamdan ötürü yapamadım.



    _____________________________
  • A sınıfını oluşturup içinde özellik ve metotlar oluştur, bi başlangıç olsun senin için. Sınıf oluşturmayı göstermişlerdir herhalde?
    _____________________________
    Beni bir dağda buldular    Benim adım dertli dolap    Suyum aşağıdan alırım
    Kolum kanadım kırdılar    Suyum akar yalap yalap    Alır yukarı dökerim      
    Dolaba layık gördüler       Böyle emreylemiş çalap     Ben mevlayı zikrederim
    Onun için inilerim.            Onun için inilerim.            Onun için inilerim.       
    Hannan Allah, Mennan Allah, Her dertlere derman Allah.
    Yunus Emre
  • quote:

    Orijinalden alıntı: un.real

    A sınıfını oluşturup içinde özellik ve metotlar oluştur, bi başlangıç olsun senin için. Sınıf oluşturmayı göstermişlerdir herhalde?

    tamam arkadaşım oluşturdumda. A class'ının içinde string d() metodu ve string y="hello" değişkeni oluşturuyorum. fakat
    şu statementda a.y.d(); The method d() is undefined for the type String hatası alıyorum. Bu arada yukarda yazdıklarımı hiç bir şekilde değiştiremem. ekleme yapabiliyorum sadece.
    _____________________________
  • up

    fikri olan yokmu?
    _____________________________
  • string y = "hello" değişkeni yerine
    A y = new A() değişkeni oluşturmalısın.
    _____________________________
    Beni bir dağda buldular    Benim adım dertli dolap    Suyum aşağıdan alırım
    Kolum kanadım kırdılar    Suyum akar yalap yalap    Alır yukarı dökerim      
    Dolaba layık gördüler       Böyle emreylemiş çalap     Ben mevlayı zikrederim
    Onun için inilerim.            Onun için inilerim.            Onun için inilerim.       
    Hannan Allah, Mennan Allah, Her dertlere derman Allah.
    Yunus Emre
  • quote:

    Orijinalden alıntı: un.real

    string y = "hello" değişkeni yerine
    A y = new A() değişkeni oluşturmalısın.

    öncelikle teşekkürler.

    public class A {

    A y=new A();
    public int x=4;
    public String d(){
    return "hello";
    }


    }

    şunu denedim fakat
    java.lang.StackOverflowError hatasını alıyorum. :S
    _____________________________
  • Bunun sebebi şu olsa gerek: her A nesnesi oluşturduğunda, onun içinde bir A nesnesi oluşuyor, onun da içinde bir A nesnesi oluşuyor, onun da içinde bir A nesnesi oluşuyor ..... nihayetinde sonsuz sayıda A nesnesi oluşturduğumuz için hafızada yer kalmamış oluyor.
    o halde bir B sınıfı yazıp string d() metodunu da bu sınıfın içinde tanımlarsak, A sınıfındaki y değişkenini de B y = new B() şeklinde tanımlarsak sorunu aşmış oluruz.
    _____________________________
    Beni bir dağda buldular    Benim adım dertli dolap    Suyum aşağıdan alırım
    Kolum kanadım kırdılar    Suyum akar yalap yalap    Alır yukarı dökerim      
    Dolaba layık gördüler       Böyle emreylemiş çalap     Ben mevlayı zikrederim
    Onun için inilerim.            Onun için inilerim.            Onun için inilerim.       
    Hannan Allah, Mennan Allah, Her dertlere derman Allah.
    Yunus Emre
  • Yapay Zeka’dan İlgili Konular
    C++ Basit Bir Soru
    13 yıl önce açıldı
    Bir soru
    18 yıl önce açıldı
    Daha Fazla Göster
  • quote:

    Orijinalden alıntı: un.real

    Bunun sebebi şu olsa gerek: her A nesnesi oluşturduğunda, onun içinde bir A nesnesi oluşuyor, onun da içinde bir A nesnesi oluşuyor, onun da içinde bir A nesnesi oluşuyor ..... nihayetinde sonsuz sayıda A nesnesi oluşturduğumuz için hafızada yer kalmamış oluyor.
    o halde bir B sınıfı yazıp string d() metodunu da bu sınıfın içinde tanımlarsak, A sınıfındaki y değişkenini de B y = new B() şeklinde tanımlarsak sorunu aşmış oluruz.

    Bingo.
    Söylediğinizi yapınca çalıştı helloyu yazdırdım. Teşekkür ederim.



    < Bu mesaj bu kişi tarafından değiştirildi Hydralisk -- 28 Kasım 2011; 23:19:48 >
    _____________________________
  • tamam çok basitmiş.

    System.out.printf( "%2d%s\n",a.x+1,new A());

    A classının içinde yazınca 5+4 veriyor.
    public int x=4;
    public int k=4;

    public String toString(){
    return "+"+k;
    }
    _____________________________
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.