Hazır Program

Anasayfa Programlama Java Sayı Okumak Versiyon 2


Sayı Okumak Versiyon 2

E-posta Yazdır

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.

Projenin Tamamını Aşağıdaki Linkten İndirebilirsiniz.

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
Yeni Ekle Ara
+/-
Yorum yaz
Adınız:
E-posta:
 
Web Sayfas1:
Başlık:
UBB Kodu:
[b] [i] [u] [url] [quote] [code] [img] 
 
 
:angry::0:confused::cheer:B):evil::silly::dry::lol::kiss::D:pinch:
:(:shock::X:side::):P:unsure::woohoo::huh::whistle:;):s
:!::?::idea::arrow:
 
Lütfen resimdeki güvenlik kodunu giriniz.

3.26 Copyright (C) 2008 Compojoom.com / Copyright (C) 2007 Alain Georgette / Copyright (C) 2006 Frantisek Hliva. All rights reserved."

 

Üye Giriş Formu



Kimler Çevrimiçi

Yok