Java Soru

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Mastika.
    Absolut
    Absolut's avatar
    Kayıt Tarihi: 04/Ağustos/2011
    Erkek

    Selam muridler javada 3 farkli int turden sayi arasindaki buyuk kucuk ve esitlik iliskisini kucukden buyuge yazdiran programi kendi capimda yapmayi basardim 

    sizden ricam bu kodu ne sekilde iyilestirebilirim ve daha yalin hale getirebilirim yani hangi yontemleri kullanmak gerekir 

    NOT : Yapin verin demiyorum hocam sadece ipuclari ve izlenicek yol seklinde aciklarsaniz kendim ugrasmak istiyorum.

    ornek kodum = http://paste.ubuntu.com/11799886/

    ekran ciktisi su sekilde olucak 10 < 20 < 30 veya 40=40 < 50 seklinde


    Nice babayigitler kirayi kim odeyecek, coluk cocuk ne yiyecek derdinden dolayi dunyayi degistiremiyor.
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    slim_38
    slim_38's avatar
    Kayıt Tarihi: 21/Ekim/2012
    Erkek

    Girilen sayılar 0 dan küçükse hata mesajı versin, 0 dan büyük sayı girilene kadar sayı girilmesini istesin.

    Sayıların ortalamasını bulsun

    Sayıların en büyüğünü ve en küçüğünü bulsun

    Bunlar akloma geldi hocam :)


    Münferidin münasıbı mükafatından mütefekkir olandır
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    ZoRKaYa
    ZoRKaYa's avatar
    Kayıt Tarihi: 18/Eylül/2007
    Erkek

    Öncelikle aralardaki iflerin başına else atmalısın. Bunu yapmazsan diğer if sorgularını da çalıştırır programın ama sorgu false döndüğü için içerideki işlemi yapmaz. 

    üç sayı için pek bir önemi yok ama daha fazla sayı okursan bunları bir container içerisinde tutup onu sortlarsın. sorting algoritmalarına gözat. Daha sonra sırayla gezip ikisi aynı geldiğinde = değilse < işareti koyarak sırayla bastırırsın. Tabi buradaki mevzu iç içe yazacağın iflerin kaç tanesinin kontrol edildiği, ki worst case'de en sondakidir,  sort işleminden daha kısa olması durumunda if yazabilirsin. Ama bana sort daha mantıklı gibi geldi hem kodun okunurluğu açısından hem de hız açısından.

     

    Görsellik açısından;

    http://www.sorting-algorithms.com/

    Karşılaştırma açısından;

    https://en.wikipedia.org/wiki/Sorting_algorithm

    Bu da türkçe;

    https://tr.wikipedia.org/wiki/S%C4%B1ralama_algoritmas%C4%B1

     


    echo "imzanız özel karakter içermemelidir";
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    unbalanced
    unbalanced's avatar
    Kayıt Tarihi: 14/Haziran/2006
    Erkek

    @zorkaya, hocam nested if lerden bahsediyorsan problem yok o şekilde yazılabilir, süslü parantez koymasına da gerek yok.. ana if lerden bahsediyorsan onlarda da sorun yok, çünkü birden fazla şarta uyabilir. arkadaşın yapmaya çalıştığı zaten bu şekilde, yanlış anladığını düşünmüyorum

    @absolut, switch-case ile dene, recursive metodları öğren, int yerine değişik veri tiplerini kullan, sorting algorimalarını öğren (ki çok önemlidir),  4 işlem yapan bir şeyler yap ve oradaki istisnalara dikkat et, her hangi bir sayının 0 a bölünemeyeceği gibi..  ayrıca implicit/explicit castingleri de öğren (tür dönüşümleri), operator işlemlerine bak (modülüs, ++x, x++, x-- ... gibi http://www.baskent.edu.tr/~tkaracay/etudio/ders/prg/java/ch06/arithmeticOperators.pdf ) 

    mesela print(x++); ile print (++x); nin farkı

    kolay gelsin

     


    Ülkesini Seven Her Türk Vatandasi, Ülkesinin Sessiz Istilasi'na karsi durmak zorunda.
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Mastika.
    Absolut
    Absolut's avatar
    Kayıt Tarihi: 04/Ağustos/2011
    Erkek
    ZoRKaYa bunu yazdı

    Öncelikle aralardaki iflerin başına else atmalısın. Bunu yapmazsan diğer if sorgularını da çalıştırır programın ama sorgu false döndüğü için içerideki işlemi yapmaz. 

    üç sayı için pek bir önemi yok ama daha fazla sayı okursan bunları bir container içerisinde tutup onu sortlarsın. sorting algoritmalarına gözat. Daha sonra sırayla gezip ikisi aynı geldiğinde = değilse < işareti koyarak sırayla bastırırsın. Tabi buradaki mevzu iç içe yazacağın iflerin kaç tanesinin kontrol edildiği, ki worst case'de en sondakidir,  sort işleminden daha kısa olması durumunda if yazabilirsin. Ama bana sort daha mantıklı gibi geldi hem kodun okunurluğu açısından hem de hız açısından.

     

    Görsellik açısından;

    http://www.sorting-algorithms.com/

    Karşılaştırma açısından;

    https://en.wikipedia.org/wiki/Sorting_algorithm

    Bu da türkçe;

    https://tr.wikipedia.org/wiki/S%C4%B1ralama_algoritmas%C4%B1

     

    hocam aradaki if lere else atarsam tam cozemedim cunki 1. iflerde sayi 1  iki ve 3 den buyuk ise sayi 2 ve 3 mu buyuk kontrolu yaptirip yazdirdim else if atmazsam esitlik durumda 2 sinide yazdiriordu 2 kere bu sekilde cozum urettim . bu sekilde sorunsuz calisti dediginiz sort olayina hemen bakicam daha oralara gelemedigimden basit mantik gidiyorum :) ancak verdiginiz linkleri ve cozumleri hemen incelemeye aliyorum o sekil yapabilirsem tekrardan koyarim inceleriz tesekkurler, 

    @slim_38  hocam tavsiyelerin icin saol ancak o sekil demek istemedim yani sorudan sapmadan bu soru icinde en yalin kod ve sadelestirmeyi yapmakti @ZoRKaYa muridin ornekledigi gibi saolasin :)


    Nice babayigitler kirayi kim odeyecek, coluk cocuk ne yiyecek derdinden dolayi dunyayi degistiremiyor.
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Mastika.
    Absolut
    Absolut's avatar
    Kayıt Tarihi: 04/Ağustos/2011
    Erkek
    unbalanced bunu yazdı

    @zorkaya, hocam nested if lerden bahsediyorsan problem yok o şekilde yazılabilir, süslü parantez koymasına da gerek yok.. ana if lerden bahsediyorsan onlarda da sorun yok, çünkü birden fazla şarta uyabilir. arkadaşın yapmaya çalıştığı zaten bu şekilde, yanlış anladığını düşünmüyorum

    @absolut, switch-case ile dene, recursive metodları öğren, int yerine değişik veri tiplerini kullan, sorting algorimalarını öğren (ki çok önemlidir),  4 işlem yapan bir şeyler yap ve oradaki istisnalara dikkat et, her hangi bir sayının 0 a bölünemeyeceği gibi..  ayrıca implicit/explicit castingleri de öğren (tür dönüşümleri), operator işlemlerine bak (modülüs, ++x, x++, x-- ... gibi http://www.baskent.edu.tr/~tkaracay/etudio/ders/prg/java/ch06/arithmeticOperators.pdf ) 

    mesela print(x++); ile print (++x); nin farkı

    kolay gelsin

     

    hocam hoca bildigin kizior konularda onde gidersem :D o yuzden tur donusumu vs detayli bakmiorum sonra derste sknti cikior :) ezberci gidiorsunuz die bagirior hoca :D ancak swich -case sekilinde hic aklima gelmemisti onlara bir goz geciricem hemen o sekil denicem bakalim nasil yapicaz yada yapabilicez mi :) 

    genel olarak yazilan kodlarda bir sknti varmi yani sizi baktiginizda rahatsiz eden bir sey varmi varsa neresi ve oralarda sizce ne kullanmam gerekirdi 

    giris seviyesi kodlama olarak dusunerek yorumlayiniz lutfen :D


    Nice babayigitler kirayi kim odeyecek, coluk cocuk ne yiyecek derdinden dolayi dunyayi degistiremiyor.
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    ZoRKaYa
    ZoRKaYa's avatar
    Kayıt Tarihi: 18/Eylül/2007
    Erkek
    unbalanced bunu yazdı

    @zorkaya, hocam nested if lerden bahsediyorsan problem yok o şekilde yazılabilir, süslü parantez koymasına da gerek yok.. ana if lerden bahsediyorsan onlarda da sorun yok, çünkü birden fazla şarta uyabilir. arkadaşın yapmaya çalıştığı zaten bu şekilde, yanlış anladığını düşünmüyorum

    @absolut, switch-case ile dene, recursive metodları öğren, int yerine değişik veri tiplerini kullan, sorting algorimalarını öğren (ki çok önemlidir),  4 işlem yapan bir şeyler yap ve oradaki istisnalara dikkat et, her hangi bir sayının 0 a bölünemeyeceği gibi..  ayrıca implicit/explicit castingleri de öğren (tür dönüşümleri), operator işlemlerine bak (modülüs, ++x, x++, x-- ... gibi http://www.baskent.edu.tr/~tkaracay/etudio/ders/prg/java/ch06/arithmeticOperators.pdf ) 

    mesela print(x++); ile print (++x); nin farkı

    kolay gelsin

     

    Hocam kodu tekrar oku hem num1<num2 hem num1>num2 nasil olacak. Eger else if yazilmazsa performans kaybi olur.


    echo "imzanız özel karakter içermemelidir";
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Mastika.
    Absolut
    Absolut's avatar
    Kayıt Tarihi: 04/Ağustos/2011
    Erkek

    @ZoRKaYa hocam o sekil yapmamin sebebi esitlik durumunda eger kucuk mu yada buyukmu die kontrol ettirmezsem hem esitligi hemde buyuk kucuk kisminda else kismini dogrudan yazdirmasiydi her 2 kisimdanda gecior bu sekil bi cozum bulabildim o yuzden 2 kere baktirdim zaten amacimda o tarz pek mnatikli olmayan seylerin olmasi geren ney onu ogrenmekti sanirim basardim :D


    Nice babayigitler kirayi kim odeyecek, coluk cocuk ne yiyecek derdinden dolayi dunyayi degistiremiyor.
  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    ZoRKaYa
    ZoRKaYa's avatar
    Kayıt Tarihi: 18/Eylül/2007
    Erkek
    Absolut bunu yazdı

    @ZoRKaYa hocam o sekil yapmamin sebebi esitlik durumunda eger kucuk mu yada buyukmu die kontrol ettirmezsem hem esitligi hemde buyuk kucuk kisminda else kismini dogrudan yazdirmasiydi her 2 kisimdanda gecior bu sekil bi cozum bulabildim o yuzden 2 kere baktirdim zaten amacimda o tarz pek mnatikli olmayan seylerin olmasi geren ney onu ogrenmekti sanirim basardim :D

    Buyuk ihtimal suslu parentezleri kullanmadigin icin alttaki elseler else ifler hangisinin compiler anlayamiyor olabilir.


    echo "imzanız özel karakter içermemelidir";
  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Mastika.
    Absolut
    Absolut's avatar
    Kayıt Tarihi: 04/Ağustos/2011
    Erkek
    ZoRKaYa bunu yazdı
    Absolut bunu yazdı

    @ZoRKaYa hocam o sekil yapmamin sebebi esitlik durumunda eger kucuk mu yada buyukmu die kontrol ettirmezsem hem esitligi hemde buyuk kucuk kisminda else kismini dogrudan yazdirmasiydi her 2 kisimdanda gecior bu sekil bi cozum bulabildim o yuzden 2 kere baktirdim zaten amacimda o tarz pek mnatikli olmayan seylerin olmasi geren ney onu ogrenmekti sanirim basardim :D

    Buyuk ihtimal suslu parentezleri kullanmadigin icin alttaki elseler else ifler hangisinin compiler anlayamiyor olabilir.

    bir denim bakim yeniden hocam onceden denedim ancak yinede yazdiriordu sanirim ben bir yerde yalnis yapiorum


    Nice babayigitler kirayi kim odeyecek, coluk cocuk ne yiyecek derdinden dolayi dunyayi degistiremiyor.
  11. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Gizem
    sLeymN
    sLeymN's avatar
    Kayıt Tarihi: 31/Mart/2008
    Erkek

    package org.thejava.sort;

    import java.util.ArrayList;
    import java.util.Collections;
    import java.util.List;

    public class App
    {
        public static void main( String[] args )
        {
           
            java.util.Scanner kb = new java.util.Scanner (System.in) ;
           
            System.out.print(" 1. sayiyi giriniz : ");
            int num1 = kb.nextInt ();
            System.out.print(" 2. sayiyi giriniz : ");
            int num2 = kb.nextInt ();
            System.out.print(" 3. sayiyi giriniz : ");
            int num3= kb.nextInt ();
            kb.close();
            List<Integer> nums = new ArrayList<Integer>();
            nums.add(num1);
            nums.add(num2);
            nums.add(num3);
           
            Collections.sort(nums);
           
            System.out.println(nums);
           
        }
    }

     

     

    javaya yeni başlıyorsan eğer collections sınıfını kesinlikle incele hacı.


    Cehennemin dibine kadar yolum var daha.. || Nasılsa her yalnız kendine sürgündür Asmera unutma.
Toplam Hit: 3538 Toplam Mesaj: 14
java 3 sayi