Unknown
Ứng dụng và slide giới thiệu javafx cho thực tập nhận thưc








http://www.mediafire.com/?idzxddtr3ma
Unknown
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

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
Unknown

Các hàm cho Unicode chữ Việt

Dưới đây là Listing của một Sub và 13 hàm (Functions) dùng để xử lý Unicode chữ Việt. Ðể hiểu thêm về Unicode và nhất là cách hoán chuyển giữa UTF-16 và UTF-8 xin đọc bài Căn bản Unicode cho VB6 Programers.
http://www.vovisoft.com/unicode/UniFunctions.htm