Ứng dụng và slide giới thiệu javafx cho thực tập nhận thưc
Thứ Tư, 18 tháng 11, 2009
Thứ Hai, 16 tháng 11, 2009
Code TH JAVA phần 1
Code Th_Java của tui bài 13 trở về sau edit lại của J
bài 6 thì mới đầu code như sau
190000001 : Một Trăm Chín Mươi Triệu Không Ngàn Không Trăm lẻ Một
1900000000 : Một Tỷ Chín Trăm Triệu
90000 : Chín Mươi Ngàn
1900 : Một Ngàn Chín Trăm
1000001 : Một Triệu Không Ngàn Không Trăm lẻ Một
100 : Một Trăm
2111 : Hai Ngàn Một Trăm Mười Một
551231 : Năm Trăm Năm Mươi Mốt Ngàn Hai Trăm Ba Mươi Mốt
199999999999900 : Một Trăm Chín Mươi Chín Triệu Chín Trăm Chín Mươi Chín Tỷ Chín Trăm Chín Mươi Chín Triệu Chín Trăm Chín Mươi Chín Ngàn Chín Trăm
Đây là code phần 1
bài 6 mình có sửa 1 tí các bạn lấy code thì update lại nhé Code
public String[] tenSo_arr = { "Không", "Một", "Hai", "Ba", "Bốn", "Năm", "Sáu", "Bảy", "Tám", "Chín" }; public String[] donVi_arr = { "", "Mười", "Trăm" }; public String[] donViKhong_arr = { "", "Lẻ", "" }; public String[] donViNgan_arr = { "", "Ngàn", "Triệu", "Tỷ"}; public String docSoSangChu(long so) { StringBuffer strBuff = new StringBuffer(); int i = 0, j = 0, k = 0; long tmp = so; int prev=0;//so truoc so hien tai 1 so boolean check=false; //kiem tra xem da doc so nao !0 chua while (tmp != 0) { i = (char) (tmp % 10); if(i!=0) check=true; if (j == 3) {// neu bang 3 tang he so don vi *1000 j = 0; if(k==3)k=1;else k++; strBuff.insert(0, " " + donViNgan_arr[k]); } // doc don vi if (i != 0||(j==2&&check)) { strBuff.insert(0, " " + donVi_arr[j]); } else { if(prev!=0)strBuff.insert(0, " " + donViKhong_arr[j]);//han che doc khi co 2 so ko lien tuc } // doc chu so // neu bang ko thi ko doc hoac neu =1 vd 211 thi doc 2 tram muoi mot // nen ko can doc if ((i!=0||(j==2&&check))&& !(i == 1 && j == 1)) { strBuff.insert(0," "+ tenSo_arr[i]); } tmp = tmp / 10; j++; prev=i; } return strBuff.toString(); }cái này đọc số nhỏ cũng tốt nhưng số lớn hơi chuối nên chuyển qua code này
package Phan1; public class bai6 { // main public int[] a; public String[] tenSo_arr = { "Không", "Một", "Hai", "Ba", "Bốn", "Năm", "Sáu", "Bảy", "Tám", "Chín" }; public String[] donViNgan_arr = { "", "Ngàn", "Triệu", "Tỷ"}; public static void main(String[] args) { bai6 b = new bai6(); System.out.println(b.docSoSangChu("190000001")); System.out.println(b.docSoSangChu("1900000000")); System.out.println(b.docSoSangChu("90000")); System.out.println(b.docSoSangChu("1001001")); System.out.println(b.docSoSangChu("1000001")); System.out.println(b.docSoSangChu("100")); System.out.println(b.docSoSangChu("2111")); System.out.println(b.docSoSangChu("551231")); System.out.println(b.docSoSangChu("199999999999900")); do { try { System.out.println(b.docSoSangChu(Libary.NhapString(" nhap so can doi"))); } catch (NumberFormatException e) { // TODO Auto-generated catch block e.printStackTrace(); } } while (Libary.IsContinue()); } public String docSoSangChu(String str)throws NumberFormatException { System.out.print(str+" :"); StringBuffer strBuff = new StringBuffer(); int currentValue = 0, k = 0,j=0; Boolean check=false;//kiem tra xem da doc so nao khac ko chua Boolean check2=false;//kiem tra xem da doc so nao khac ko trong bo 3 so chua for (int i = str.length()-1; i>=0; i--,j++) { currentValue=str.charAt(i)-48; if(currentValue!=0) check=check2=true; if(currentValue <0&¤tValue>9) throw new NumberFormatException(" Ko phai la so"); switch (j) { case 2: if(currentValue==0){ if(check2) strBuff.insert(0, " "+ tenSo_arr[0]+" Trăm"); check2=false; } else strBuff.insert(0, " Trăm"); break; case 1: if(currentValue==0){ if(str.charAt(i+1)!=48) strBuff.insert(0, " lẻ"); }else if (currentValue==1){ strBuff.insert(0, " Mười"); continue; }else { strBuff.insert(0, " Mươi"); } break; case 3 : if(k==3){ k=1;check=false; }k++; j=0; if(currentValue!=0){ strBuff.insert(0, " "+ donViNgan_arr[k]); }else { if(check){ if( (i-2)>=0&&str.charAt(i-1)==48&& str.charAt(i-2)==48){ strBuff.insert(0, " "+ tenSo_arr[0]+" "+ donViNgan_arr[k]); }else { strBuff.insert(0, " "+ donViNgan_arr[k]); } }else { if( (i-2)<0){ strBuff.insert(0, " "+ donViNgan_arr[k]); }else if (str.charAt(i-1)!=48|| str.charAt(i-2)!=48){ strBuff.insert(0, " "+ donViNgan_arr[k]); } } } case 0: if(currentValue==1 &&(i-1)>=0&&str.charAt(i-1)!=48&&str.charAt(i-1)!=49){ strBuff.insert(0, " Mốt"); continue; } break; } if(currentValue!=0) { strBuff.insert(0," " +tenSo_arr[currentValue]); } } return strBuff.toString(); } }Đọc rất chi là pro
190000001 : Một Trăm Chín Mươi Triệu Không Ngàn Không Trăm lẻ Một
1900000000 : Một Tỷ Chín Trăm Triệu
90000 : Chín Mươi Ngàn
1900 : Một Ngàn Chín Trăm
1000001 : Một Triệu Không Ngàn Không Trăm lẻ Một
100 : Một Trăm
2111 : Hai Ngàn Một Trăm Mười Một
551231 : Năm Trăm Năm Mươi Mốt Ngàn Hai Trăm Ba Mươi Mốt
199999999999900 : Một Trăm Chín Mươi Chín Triệu Chín Trăm Chín Mươi Chín Tỷ Chín Trăm Chín Mươi Chín Triệu Chín Trăm Chín Mươi Chín Ngàn Chín Trăm
Đây là code phần 1
bài 6 mình có sửa 1 tí các bạn lấy code thì update lại nhé Code