Şimdi Ara

java scanner ve if yapısı

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
11
Cevap
0
Favori
609
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • import java.util.Scanner; 
    public class deneme{
    public static void main(String args[])
    {
    Scanner sc = new Scanner(System.in);
    String x = sc.next();
    if(x=="enter")
    System.out.print("True");
    }
    }

    arkadaşlar kod bu. enter yazıp tıkladığım zaman true yazdırmıyor. acaba sebebi nedir yardımcı olursanız çok makbule geçer.



    _____________________________
  • == yerine equals gibi bir method olmalıydı
    _____________________________
  • quote:

    Orijinalden alıntı: bytecode3

    == yerine equals gibi bir method olmalıydı

    evet ingilizce aratınca bişeyler buldum
    import java.util.Scanner; 
    public class deneme{
    public static void main(String args[])
    {
    Scanner sc = new Scanner(System.in);
    String x = sc.next();
    [b]if(x.equals("enter"))[/b]
    System.out.print("True");
    }
    }

    olarak kullanınca sorun çözüldü ama neden böyle olması gerektiğini anlamadım. Neyse sonuçta sorun çözüldü. Sağolasın yine de.
    _____________________________
  • quote:

    Orijinalden alıntı: yss126

    quote:

    Orijinalden alıntı: bytecode3

    == yerine equals gibi bir method olmalıydı

    evet ingilizce aratınca bişeyler buldum
    import java.util.Scanner; 
    public class deneme{
    public static void main(String args[])
    {
    Scanner sc = new Scanner(System.in);
    String x = sc.next();
    [b]if(x.equals("enter"))[/b]
    System.out.print("True");
    }
    }

    olarak kullanınca sorun çözüldü ama neden böyle olması gerektiğini anlamadım. Neyse sonuçta sorun çözüldü. Sağolasın yine de.

    string ifadeleri eşitlerken equals komutunu kullanıyoruz.ilk başlayan herkes bu durumu yaşamıştır.iyi çalışmalar.



    < Bu mesaj bu kişi tarafından değiştirildi deadmanku -- 4 Ekim 2012; 18:19:56 >
    _____________________________




  • quote:

    Orijinalden alıntı: deadmanku

    quote:

    Orijinalden alıntı: yss126

    quote:

    Orijinalden alıntı: bytecode3

    == yerine equals gibi bir method olmalıydı

    evet ingilizce aratınca bişeyler buldum
    import java.util.Scanner; 
    public class deneme{
    public static void main(String args[])
    {
    Scanner sc = new Scanner(System.in);
    String x = sc.next();
    [b]if(x.equals("enter"))[/b]
    System.out.print("True");
    }
    }

    olarak kullanınca sorun çözüldü ama neden böyle olması gerektiğini anlamadım. Neyse sonuçta sorun çözüldü. Sağolasın yine de.

    string ifadeleri eşitlerken equals komutunu kullanıyoruz.ilk başlayan herkes bu durumu yaşamıştır.iyi çalışmalar.

    Sanırım Java değişkenlerde bir index sistemi kullanıyor iki tane "asd" değerli değişkeni == operatörü eşit değil gibi görüyor. İlginç birşey doğrusu ben de karıştırmıştım başta.
    _____________________________




  • quote:

    Orijinalden alıntı: welrocken

    quote:

    Orijinalden alıntı: deadmanku

    quote:

    Orijinalden alıntı: yss126

    quote:

    Orijinalden alıntı: bytecode3

    == yerine equals gibi bir method olmalıydı

    evet ingilizce aratınca bişeyler buldum
    import java.util.Scanner; 
    public class deneme{
    public static void main(String args[])
    {
    Scanner sc = new Scanner(System.in);
    String x = sc.next();
    [b]if(x.equals("enter"))[/b]
    System.out.print("True");
    }
    }

    olarak kullanınca sorun çözüldü ama neden böyle olması gerektiğini anlamadım. Neyse sonuçta sorun çözüldü. Sağolasın yine de.

    string ifadeleri eşitlerken equals komutunu kullanıyoruz.ilk başlayan herkes bu durumu yaşamıştır.iyi çalışmalar.

    Sanırım Java değişkenlerde bir index sistemi kullanıyor iki tane "asd" değerli değişkeni == operatörü eşit değil gibi görüyor. İlginç birşey doğrusu ben de karıştırmıştım başta.

    equals referans aldığı değişkeni ele alırken.== tamamen aynı değişkenin ele alır.
    Kaynak
    _____________________________




  • 389n vonm, vmndskfjbaetg ,m aetkj gakej gnknae



    < Bu mesaj bu kişi tarafından değiştirildi rob dö şambır -- 30 Nisan 2013; 14:13:15 >
    _____________________________
  • Yapay Zeka’dan İlgili Konular
    ASP ile Access Sorunu
    8 yıl önce açıldı
    Daha Fazla Göster
  • quote:

    Orijinalden alıntı: rob dö şambır

    muhtemelen cevabımı anlayacak kalibrede kimse yok burada, ama yine de yazayım dedim (canım sıkılıyo biliyon mu):
    C#'ta operator overloading var, bu nedenle == operatörü string türü için değer(value) kıyaslaması yapar. Java'da operator overloading yok, bu nedenle value kıyaslaması yapmak için mutlaka method çağıracaksın yoksa referans kıyaslaması yapar.
    Peki + operatörü neden Java'da toplama yapmıyor(veya hata vermiyor) da iki string'i birleştiriyor? çünkü Java'yı dizayn edenler sadece string için + operatörünü overload edivermişler. öyle sıratan bir özellik işte Java'da...

    Zeka seviyesi ile bilgi seviyesini karıştırıp insanlara laf sokmaya çalışma yeteneği de size özgü olsa gerek.



    < Bu mesaj bu kişi tarafından değiştirildi welrocken -- 4 Ekim 2012; 23:47:53 >
    < Bu ileti mobil sürüm kullanılarak atıldı >
    _____________________________




  • bu ne javada olmayan operatör overloading ile ne de referans kıyaslaması ile alakalı değildir. ( string birleştirme için geçerli değil bu söylediğim )

    c# da bildiğim kadarı ile primitif tip değişkenler yok, herşey nesne ( yanılıyor olabilirim, gerçekten C# bilen birileri yanılıyorsam düzeltsin lütfen ) bu yüzden bütün nesneler yanı şekilde karşılaştırılır ( "==" operatörü "equals" ı override etmiştir )

    javada ise primitif tipler vardır int, long, double gibi. bu tipler java.lang.Object temel nesnesinden türemediği için doğal olarak içlerinde equals metodu barındırmazlar ve karşılaştırmak için "==" operatörü kullanılır. String ise bütün objeler gibi java.lang.Object ten türemiştir, bu yüzden karşılaştırmak için equals metodu kullanmak gerekir. Kısmen haklı olduğunuz gibi eğer java da operatör overloading vm seviyesinde değil de kodlama seviyesinde de mümkün olsaydı string equals metodunu "==" operatörü ile overload edebilir ve bu şekilde de karşılaştırabilirdik. ( C# da olduğu gibi )

    Bu konu hakkında şu linktehttp://forum.donanimhaber.com/m_64501153/mpage_1/f_/key_//tm.htm#msglink_64611341 birşeyler yamıştım, oraya da bakabilirsiniz.
    _____________________________




  • quote:

    Orijinalden alıntı: rob dö şambır

    muhtemelen cevabımı anlayacak kalibrede kimse yok burada, ama yine de yazayım dedim (canım sıkılıyo biliyon mu):
    C#'ta operator overloading var, bu nedenle == operatörü string türü için değer(value) kıyaslaması yapar. Java'da operator overloading yok, bu nedenle value kıyaslaması yapmak için mutlaka method çağıracaksın yoksa referans kıyaslaması yapar.
    Peki + operatörü neden Java'da toplama yapmıyor(veya hata vermiyor) da iki string'i birleştiriyor? çünkü Java'yı dizayn edenler sadece string için + operatörünü overload edivermişler. öyle sıratan bir özellik işte Java'da...

    sorunlu olduğun için canın sıkılıyor olabilir.
    _____________________________
  • quote:

    Orijinalden alıntı: welrocken

    quote:

    Orijinalden alıntı: rob dö şambır

    muhtemelen cevabımı anlayacak kalibrede kimse yok burada, ama yine de yazayım dedim (canım sıkılıyo biliyon mu):
    C#'ta operator overloading var, bu nedenle == operatörü string türü için değer(value) kıyaslaması yapar. Java'da operator overloading yok, bu nedenle value kıyaslaması yapmak için mutlaka method çağıracaksın yoksa referans kıyaslaması yapar.
    Peki + operatörü neden Java'da toplama yapmıyor(veya hata vermiyor) da iki string'i birleştiriyor? çünkü Java'yı dizayn edenler sadece string için + operatörünü overload edivermişler. öyle sıratan bir özellik işte Java'da...

    Zeka seviyesi ile bilgi seviyesini karıştırıp insanlara laf sokmaya çalışma yeteneği de size özgü olsa gerek.

    bu arkadaşı takmayın çok bildim havalarında taklıyor
    _____________________________




  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.