Şimdi Ara

Kodumun Neresi Hatalı

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
3 Misafir (2 Mobil) - 1 Masaüstü2 Mobil
5 sn
6
Cevap
0
Favori
291
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Merhaba gençler 3 aydan beridir JAVA ile ilgileniyordum fakat aşağıdaki kodu yazdıgımda cevap verdiğimde doğru versem dahi else'deki devreye giriyor neden ?
    Scanner merhaba=new Scanner(System.in); 
    System.out.println("insanmısın ?(E/H)");
    String cvp=merhaba.next();
    if(cvp=="E")
    {
    System.out.println("İyi Bir Seçim");
    }
    else
    {
    System.out.println("Nasip Değilmiş :D");
    }



  • Eşitlik kontrolünü string("cvp").equals("E") şeklinde yapacaksın.

    < Bu ileti tablet sürüm kullanılarak atıldı >
  • KillForYou! kullanıcısına yanıt
    kardeş sen eminmisin Java olduğuna, yaptım error veriyorda ?
    (tamam hallettim yanlış yokmuş saol :) )



    < Bu mesaj bu kişi tarafından değiştirildi HackerAdayi -- 3 Kasım 2016; 20:52:2 >
  • Primitive tipler ve sabit veriler(class, enum ...vb) dışındaki eşitlikleri "equals" ile kontrol etmeniz gerekir.
    Çoğu yeni yazılımcı burada yanılmaktadır. Komplex verilerde ram adreslerini kontrol

    StringPool diye birşey vardır, bu performansı artırmak için mevcuttur. Aynı string değerleri bi arada tutmak için sistem kendisi otomatik kullanır. Aynı kelimeleri bir adreste tutacaktır. Fakat farklı obje olarak tanımlandığında bu eşitlik hatalı olarak "EŞİT DEĞİL" diyecektir.
    En üst seviye obje tutan sınıf (class) Object classıdır ve oluşturulan tüm objeler bu sınıftan özellikler miras alır (inherit)
    Primitive tip verilerde (int,long,double,float,char) == ile kontrol yapmanız doğrudur. Ancak sınıf olarak oluşturulan kompleks verilerde bunu yapmanızda yazılım dili bizim bakış açımız ile bakmaz. Biz içeriğindeki kelime olarak düşünürüz eşitliği, ancak dil bunu adres yeri aynı mı diye kontrol eder.
    Biz classlarda object klasından özellik miras aldığımız için her sınıfın eşitliğini kendimiz oluşturabiliriz (equals metodu)
    (inherit derslerini inceleyiniz)


    Örnek olarak ikisinede bakın (çalıştırmanız nasıl hata olduğunu anlamanıza yardımcı olacaktır);

    String s1="ikimiz aynıyız";
    String s2="ikimiz aynıyız";

    System.out.println(s1==s2); //true görünür. Çünkü ikiside stringpoolda aynı ram adresinde durur.

    String s3=new String("ikimiz aynıyız");
    String s4=new String("ikimiz aynıyız");

    System.err.println(s3==s4); //false görünür. Çünkü ikiside string poolda değildir ve farklı ram adresinde durur.



    < Bu mesaj bu kişi tarafından değiştirildi StGuard -- 10 Kasım 2016; 9:44:40 >




  • Sorun çözüldümü



    < Bu mesaj bu kişi tarafından değiştirildi kk king -- 10 Kasım 2016; 10:25:45 >
    < Bu ileti mobil sürüm kullanılarak atıldı >
  • kk king kullanıcısına yanıt
    evet :)
  • 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.