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:
/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package sayıokuma; import javax.swing.*; /** * * @author NEO */ public class SayiOkumaDemo { final private String[] ucluGrupSonEk = { "", "Bin", "Milyon", "Milyar","Trilyon" }; final private String[] birler={"Bir","İki","Üç","Dört","Beş","Altı","Yedi","Sekiz","Dokuz"}; final private String[] onlar={"On","Yirmi","Otuz","Kırk","Elli","Altmış","Yetmiş","Seksen","Doksan"}; public String sayiOku(String input) { input = clearInput(input); return input; } public String clearInput(String input) { String output =""; char sayi; for (int i = 0; i < input.length(); i++) { sayi = input.charAt(i); if (((int) sayi >= (int) '0') && ((int) sayi <= (int) '9')) { output = output + sayi; } } return output; } public String ucluGrupoku(String input) { String dondur=""; if(input.length()>2) { Character c=new Character(input.charAt(0)); String giris=c.toString(); if(!giris.equals("0")) { if(!giris.equals("1")) dondur+=birler[Integer.parseInt(giris)-1]; input=input.substring(1); dondur+=" Yüz "; } else input=input.substring(1); } if(input.length()>1) { Character c = new Character(input.charAt(0)); String giris=c.toString(); if(!giris.equals("0")) { dondur+=onlar[Integer.parseInt(giris)-1]; input=input.substring(1); dondur+=" "; } else input=input.substring(1); } if(input.length()==1 && !input.equals("0")) dondur+=birler[Integer.parseInt(input)-1]; return dondur; } public String grupekle(int p) { String donelim=" "+ucluGrupSonEk[p]+" "; return donelim; } { int i, len = normal.length(); StringBuffer tersi = new StringBuffer(len); for (i = (len - 1); i >= 0; i--) tersi.append(normal.charAt(i)); return tersi.toString(); } { String bastir=""; SayiOkumaDemo app = new SayiOkumaDemo(); String input=JOptionPane.showInputDialog("Sayıyı Giriniz","123.456.899"); String donen=app.sayiOku(input); @SuppressWarnings("static-access") String tersle=app.ters(donen); String parca=tersle; String gonder=""; int kalan=donen.length()%3; int sinir; if(kalan==0) sinir=donen.length()/3; else sinir=(donen.length()/3)+1; for(int i=0;i<sinir;i++) { if((i*3)+3<tersle.length()) parca=tersle.substring( i*3, (i*3)+3); else parca=tersle.substring(i*3,tersle.length()); if(parca.length()>2) gonder=ters(parca.substring(0, 3)); else gonder=ters(parca.substring(0,parca.length())); String ekle=""; String kontrol=app.ucluGrupoku(gonder); if(!kontrol.equals("")) { ekle=app.grupekle(i); { Character c=new Character(kontrol.charAt(kontrol.length()-1)); String giris=c.toString(); if(giris.equals("r")) { kontrol=kontrol.substring(0,kontrol.length()-3); } } } bastir=kontrol+ekle+bastir; } JOptionPane.showMessageDialog(null,bastir,"SONUÇ",JOptionPane.PLAIN_MESSAGE); } }
Yorumlar (2)
-
18-07-2011 18:30:20 | ahmet_dogusUni - faktoriyel javapackage 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
-
18-07-2011 18:30:58 | NEO
Sadece kayıtlı kullanıcılar yorum yazabilir!
