Programlama | Programlama Dilleri | C Programlama Dili |C++

Anasayfa Programlama Java Sayı Okumak Versiyon 2


Sayı Okumak Versiyon 2

AÇIKLAMA

Netbeans platformunda yapılan proje sayesinde kullanıcıdan alınan sayının okunmasını sağlamaktadır. Dist klasorü içindeki "Say_Okuma.jar" uzantılı dosya çalıştırılarak sistem bağımsız program çalıştırılabilir.

Bu projenin diğer sayı okumadan farkı ise sayı okuma işleminin algoritması değiştirilerek sınırsız olarak sayı okunmasını sağlamaktır. Trilyon seviyesinde bırakılan program istenirse daha da ileri götürülebilir.

Programın Tamamını Aşağıdaki Linkten İndirebilirsiniz

Linki Görebilmeniz İçin Üye Olmanız Gerekmektedir...

Üye Kayıt

Program Kodu:

  1. /*
  2.  * To change this template, choose Tools | Templates
  3.  * and open the template in the editor.
  4.  */
  5.  
  6. package sayıokuma;
  7. import javax.swing.*;
  8.  
  9. /**
  10.  *
  11.  * @author NEO
  12.  */
  13. public class SayiOkumaDemo  {
  14.  
  15.     final private String[] ucluGrupSonEk = { "", "Bin", "Milyon", "Milyar","Trilyon" };
  16.  
  17.     final private String[] birler={"Bir","İki","Üç","Dört","Beş","Altı","Yedi","Sekiz","Dokuz"};
  18.     final private String[] onlar={"On","Yirmi","Otuz","Kırk","Elli","Altmış","Yetmiş","Seksen","Doksan"};
  19.    
  20.    
  21.     public String sayiOku(String input)
  22.     {
  23.         input = clearInput(input);
  24.         return input;
  25.     }
  26.     public String clearInput(String input)
  27.     {
  28.     String output ="";
  29.     char sayi;
  30.  
  31.     for (int i = 0; i < input.length(); i++)
  32.         {
  33.         sayi = input.charAt(i);
  34.         if (((int) sayi >= (int) '0') && ((int) sayi <= (int) '9'))
  35.                 {
  36.                 output = output + sayi;
  37.         }
  38.     }
  39.  
  40.     return output;
  41.     }
  42.     public String ucluGrupoku(String input)
  43.     {
  44.      String dondur="";
  45.      if(input.length()>2)
  46.      {
  47.       Character c=new Character(input.charAt(0));
  48.       String giris=c.toString();
  49.         if(!giris.equals("0"))
  50.         {
  51.           if(!giris.equals("1"))
  52.           dondur+=birler[Integer.parseInt(giris)-1];
  53.           input=input.substring(1);
  54.           dondur+=" Yüz ";
  55.         }
  56.         else
  57.         input=input.substring(1);
  58.      } 
  59.     
  60.      if(input.length()>1)
  61.      {
  62.       Character c = new Character(input.charAt(0));
  63.       String giris=c.toString();
  64.         if(!giris.equals("0"))
  65.         {
  66.          dondur+=onlar[Integer.parseInt(giris)-1]
  67.          input=input.substring(1);
  68.          dondur+=" ";
  69.         }
  70.          else
  71.          input=input.substring(1);
  72.      }
  73.     
  74.      if(input.length()==1 && !input.equals("0"))
  75.        dondur+=birler[Integer.parseInt(input)-1];
  76.     
  77.      return dondur;    
  78.     }
  79.    
  80.     public  String grupekle(int p)
  81.     {
  82.        String donelim=" "+ucluGrupSonEk[p]+" ";
  83.        return donelim;
  84.     }       
  85.     public static String ters(String normal)
  86.     {
  87.     int i, len = normal.length();
  88.     StringBuffer tersi = new StringBuffer(len);
  89.  
  90.     for (i = (len - 1); i >= 0; i--)
  91.     tersi.append(normal.charAt(i));
  92.     return tersi.toString();
  93.     }
  94.     public static void main(String[] args)
  95.     {
  96.       String bastir="";
  97.       SayiOkumaDemo app = new SayiOkumaDemo();
  98.       String input=JOptionPane.showInputDialog("Sayıyı Giriniz","123.456.899");
  99.       String donen=app.sayiOku(input);
  100.       @SuppressWarnings("static-access")
  101.       String tersle=app.ters(donen);
  102.       String parca=tersle;
  103.       String gonder="";
  104.       int kalan=donen.length()%3;
  105.       int sinir;
  106.       if(kalan==0)
  107.       sinir=donen.length()/3;
  108.       else
  109.       sinir=(donen.length()/3)+1;
  110.      
  111.       for(int i=0;i<sinir;i++)
  112.       {   
  113.       if((i*3)+3<tersle.length())
  114.       parca=tersle.substring( i*3, (i*3)+3);
  115.       else
  116.       parca=tersle.substring(i*3,tersle.length());
  117.       if(parca.length()>2)
  118.       gonder=ters(parca.substring(0, 3));
  119.       else
  120.       gonder=ters(parca.substring(0,parca.length()));
  121.      
  122.       String ekle="";
  123.       String kontrol=app.ucluGrupoku(gonder);
  124.       if(!kontrol.equals(""))
  125.       {
  126.       ekle=app.grupekle(i);
  127.      
  128.       if((ekle.trim()).equals("Bin"))
  129.       {
  130.       Character c=new Character(kontrol.charAt(kontrol.length()-1));
  131.       String giris=c.toString();
  132.       if(giris.equals("r"))
  133.       {
  134.        kontrol=kontrol.substring(0,kontrol.length()-3);
  135.       }
  136.       }
  137.       }
  138.       bastir=kontrol+ekle+bastir; 
  139.       }
  140.      
  141.       JOptionPane.showMessageDialog(null,bastir,"SONUÇ",JOptionPane.PLAIN_MESSAGE);
  142.       System.exit(0);
  143.     }
  144.  
  145. }
  146.  

Yorumlar (2)
  • ahmet_dogusUni  - faktoriyel java
    package Faktoriyel; import java.util.Scanner; import javax.swing.JOptionPane; public class FaktoriyelBulma { public static void main (String[] args){ String bastir = ""; System.out.println("Kac faktoriyel?";); int x = 1; Scanner klavye = new Scanner(System.in); int sayi = klavye.nextInt(); if (sayi
  • NEO
    avatar
    Sanırım faktoriyel kodunu eklemek istemişsiniz fakat kod tam bitmemiş sanırım.. yada başka bir problemden dolayı eksik gelmiş.
Sadece kayıtlı kullanıcılar yorum yazabilir!
Son Güncelleme ( Perşembe, 07 Nisan 2011 23:51 )