• 14-10-2019, 00:08:26
    #1
    Arkadaşlar java da bir string ifadeyi kaç büyük kaç küçük harf var ya da rakam var bulan bir program yazdım ve buna olan büyük küçük harfleri de bastıran bir for döngüsü oluşturdum fakat çıktı da nedense girilen sıranın tersinde basıyor sebebi nedir
    /*
    * To change this license header, choose License Headers in Project Properties.
    * To change this template file, choose Tools | Templates
    * and open the template in the editor.
    */
    package javaapplication10;
    
    import java.util.Scanner;
    
    /**
    *
    * @author fehmi
    */
    public class JavaApplication10 {
    
    /**
    * @param args the command line arguments
    */
    public static void main(String[] args) {
    Scanner scanner = new Scanner(System.in);
            System.out.println("Lütfen Bir String Giriniz...");
            String str = scanner.nextLine();
            System.out.println("Girdiğiniz String :" + str);
            int uzunluk = str.length();
            int rakam = 0,buyuk = 0,kucuk = 0,diger = 0;
            char[] charStr = new char[uzunluk];
            charStr = str.toCharArray();
            for(int i=0; i<charStr.length; i++) {
                if(charStr[i] < 58 && charStr[i] > 47) {
                    rakam++;
                }
                else if((charStr[i] < 91 && charStr[i] > 64) || charStr[i] == 'Ö' || charStr[i] == 'Ü' || charStr[i] == 'İ' || charStr[i] == 'Ç' || charStr[i] == 'Ş' || charStr[i] == 'Ğ'){
                    buyuk++;
                }
                else if((charStr[i] < 123 && charStr[i] > 96) || charStr[i] == 'ö' || charStr[i] == 'ü' || charStr[i] == 'ı' || charStr[i] == 'ç' || charStr[i] == 'ş'|| charStr[i] == 'ğ' ) {
                    kucuk++;
                }
                else {
                    diger++;
                }
    }
    String yt = " ";
    String az = " ";
    String bz = " ";
    for(int b=0; b<charStr.length; b++) {
                if(charStr[b] > 47 && charStr[b] < 58) {
                    yt=charStr[b]+" "+yt;
                }
                else if((charStr[b] > 64 && charStr[b] < 91) || charStr[b] == 'Ö' || charStr[b] == 'Ü' || charStr[b] == 'İ' || charStr[b] == 'Ç' || charStr[b] == 'Ş' || charStr[b] == 'Ğ'){
                    az=charStr[b]+"_"+az;
                }
                else if((charStr[b] > 96 && charStr[b] < 123) || charStr[b] == 'ö' || charStr[b] == 'ü' || charStr[b] == 'ı' || charStr[b] == 'ç' || charStr[b] == 'ş'|| charStr[b] == 'ğ' ) {
                    bz=charStr[b]+"_"+bz;
                }
            }
             System.out.println("Girdiğiniz sayılar : "+yt);
    System.out.println("Girdiğiniz küçük harfler : "+bz);
    System.out.println("Girdiğiniz büyük harfler : "+az);
    System.out.println("Buyuk Harf Sayisi :" + buyuk +
                                "nKucuk Harf Sayisi :" + kucuk +
                                "nRakam Sayisi :" + rakam +
                                "nDiger İşaretlerin Sayisi :" + diger);
        }
    
    
    }
    çıktısı
    run:
    Lütfen Bir String Giriniz...
    öbç 123 ÖBÇ
    Girdiğiniz String :öbç 123 ÖBÇ
    Girdiğiniz sayılar : 3 2 1
    Girdiğiniz küçük harfler : ç_b_ö_
    Girdiğiniz büyük harfler : Ç_B_Ö_
    Buyuk Harf Sayisi :3
    Kucuk Harf Sayisi :3
    Rakam Sayisi :3
    Diger İşaretlerin Sayisi :2
    BUILD SUCCESSFUL (total time: 6 seconds)
  • 14-10-2019, 00:26:57
    #2
    meftuniberder adlı üyeden alıntı: mesajı görüntüle
    Arkadaşlar java da bir string ifadeyi kaç büyük kaç küçük harf var ya da rakam var bulan bir program yazdım ve buna olan büyük küçük harfleri de bastıran bir for döngüsü oluşturdum fakat çıktı da nedense girilen sıranın tersinde basıyor sebebi nedir
    /*
    * To change this license header, choose License Headers in Project Properties.
    * To change this template file, choose Tools | Templates
    * and open the template in the editor.
    */
    package javaapplication10;
    
    import java.util.Scanner;
    
    /**
    *
    * @author fehmi
    */
    public class JavaApplication10 {
    
    /**
    * @param args the command line arguments
    */
    public static void main(String[] args) {
    Scanner scanner = new Scanner(System.in);
    System.out.println("Lütfen Bir String Giriniz...");
    String str = scanner.nextLine();
    System.out.println("Girdiğiniz String :" + str);
    int uzunluk = str.length();
    int rakam = 0,buyuk = 0,kucuk = 0,diger = 0;
    char[] charStr = new char[uzunluk];
    charStr = str.toCharArray();
    for(int i=0; i<charStr.length; i++) {
    if(charStr[i] < 58 && charStr[i] > 47) {
    rakam++;
    }
    else if((charStr[i] < 91 && charStr[i] > 64) || charStr[i] == 'Ö' || charStr[i] == 'Ü' || charStr[i] == 'İ' || charStr[i] == 'Ç' || charStr[i] == 'Ş' || charStr[i] == 'Ğ'){
    buyuk++;
    }
    else if((charStr[i] < 123 && charStr[i] > 96) || charStr[i] == 'ö' || charStr[i] == 'ü' || charStr[i] == 'ı' || charStr[i] == 'ç' || charStr[i] == 'ş'|| charStr[i] == 'ğ' ) {
    kucuk++;
    }
    else {
    diger++;
    }
    }
    String yt = " ";
    String az = " ";
    String bz = " ";
    for(int b=0; b<charStr.length; b++) {
    if(charStr[b] > 47 && charStr[b] < 58) {
    yt=charStr[b]+" "+yt;
    }
    else if((charStr[b] > 64 && charStr[b] < 91) || charStr[b] == 'Ö' || charStr[b] == 'Ü' || charStr[b] == 'İ' || charStr[b] == 'Ç' || charStr[b] == 'Ş' || charStr[b] == 'Ğ'){
    az=charStr[b]+"_"+az;
    }
    else if((charStr[b] > 96 && charStr[b] < 123) || charStr[b] == 'ö' || charStr[b] == 'ü' || charStr[b] == 'ı' || charStr[b] == 'ç' || charStr[b] == 'ş'|| charStr[b] == 'ğ' ) {
    bz=charStr[b]+"_"+bz;
    }
    }
    System.out.println("Girdiğiniz sayılar : "+yt);
    System.out.println("Girdiğiniz küçük harfler : "+bz);
    System.out.println("Girdiğiniz büyük harfler : "+az);
    System.out.println("Buyuk Harf Sayisi :" + buyuk +
    "nKucuk Harf Sayisi :" + kucuk +
    "nRakam Sayisi :" + rakam +
    "nDiger İşaretlerin Sayisi :" + diger);
    }
    
    
    }
    çıktısı
    run:
    Lütfen Bir String Giriniz...
    öbç 123 ÖBÇ
    Girdiğiniz String :öbç 123 ÖBÇ
    Girdiğiniz sayılar : 3 2 1
    Girdiğiniz küçük harfler : ç_b_ö_
    Girdiğiniz büyük harfler : Ç_B_Ö_
    Buyuk Harf Sayisi :3
    Kucuk Harf Sayisi :3
    Rakam Sayisi :3
    Diger İşaretlerin Sayisi :2
    BUILD SUCCESSFUL (total time: 6 seconds)
    Linkteki gibi yaparsanız düzelecektir. Siz her defasında yeni eklenecek değeri başa koyup, değişkende olanı onun sonuna eklemişsiniz haliyle ters çevirmiş bu arada bu işlem için iki döngü kullanmak gereksiz.

    https://onlinegdb.com/r10buMZtS
  • 14-10-2019, 01:06:06
    #3
    pr1d3 adlı üyeden alıntı: mesajı görüntüle
    Linkteki gibi yaparsanız düzelecektir. Siz her defasında yeni eklenecek değeri başa koyup, değişkende olanı onun sonuna eklemişsiniz haliyle ters çevirmiş bu arada bu işlem için iki döngü kullanmak gereksiz.

    https://onlinegdb.com/r10buMZtS
    evet hocam 2 kere kullanmanın gereksiz olduğunu ben de fark ettim teşekkür ederim yardımınız için



    pr1d3 adlı üyeden alıntı: mesajı görüntüle
    Linkteki gibi yaparsanız düzelecektir. Siz her defasında yeni eklenecek değeri başa koyup, değişkende olanı onun sonuna eklemişsiniz haliyle ters çevirmiş bu arada bu işlem için iki döngü kullanmak gereksiz.

    https://onlinegdb.com/r10buMZtS
    hocam bir sorum daha olacak sizce bu kodun üstüne ne gibi eklemeler yapılabilir yani programcıdan başka neleri eklemesi istenebilir ?
  • 14-10-2019, 01:42:00
    #4
    meftuniberder adlı üyeden alıntı: mesajı görüntüle
    evet hocam 2 kere kullanmanın gereksiz olduğunu ben de fark ettim teşekkür ederim yardımınız için




    hocam bir sorum daha olacak sizce bu kodun üstüne ne gibi eklemeler yapılabilir yani programcıdan başka neleri eklemesi istenebilir ?
    Rica ederim. Bu tamamen sizin hayal gücünüze kalmış hocam. Ama madem ascii üzerinden gidiyorsunuz, girilen metindeki 33-47, 58-64 arasındaki karakterler ile Türkçe karakterleri ayrı saydırıp gösterebilirsiniz.