當前位置:首頁 » 編程語言 » java數字漢字

java數字漢字

發布時間: 2022-12-26 18:23:31

java編程 數字轉換成漢字

我自己寫的,匆忙寫的。我有時間再改進改進。

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashMap;
import java.util.Stack;

/*
* 本程序
*/

public class Transfer {

public Stack<Integer> transfer(int n){
Stack<Integer> st = new Stack<Integer>();
int division = 0; //余數
while(n>=10){
division = n%10;
st.push(division);
n = n/10;
}

st.push(n); //將最高位壓棧

return st;
}

public static void main(String[]args){
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String in = "";
try {
in = reader.readLine();
} catch (IOException e) {
e.printStackTrace();
}

int n = 0;
try{
n = Integer.parseInt(in);
} catch(NumberFormatException e){
e.printStackTrace();
}

Transfer tf = new Transfer();
Stack<Integer> s = tf.transfer(n);
/*
while(!s.empty()){
System.out.print(s.pop()); //測試語句
}
*/

HashMap<Integer, String> hp1 = new HashMap<Integer, String>(); //第一個映射表
hp1.put(0, "零"); //根據所在位的數值與中文對應
hp1.put(1, "一");
hp1.put(2, "二");
hp1.put(3, "三");
hp1.put(4, "四");
hp1.put(5, "五");
hp1.put(6, "六");
hp1.put(7, "七");
hp1.put(8, "八");
hp1.put(9, "九");

HashMap<Integer, String> hp2 = new HashMap<Integer, String>(); //第二個映射表
hp2.put(2, "十"); //根據所在位數,與中文對應
hp2.put(3, "百");
hp2.put(4, "千");
hp2.put(5, "萬");
hp2.put(6, "十萬");
hp2.put(7, "百萬");
hp2.put(8, "千萬");
hp2.put(9, "億");

//System.out.println(s.size());
String out = "";
while(!s.isEmpty()){
int temp = s.pop();

if(s.size()==0){
if(temp !=0){
out = out + hp1.get(temp);
}
}
else{
if(temp==0){
out = out + hp1.get(temp);
}
else{
out = out + hp1.get(temp) + hp2.get(s.size()+1);
}
}
}

System.out.println(out);

}

}

對於如2008之類的數,輸出的是二千零零八,還需要加以判斷,我再去處理下。
還有涉及萬以上的數,比如
123456
輸出的是一十萬二萬三千四百五十六,也必須增加判斷。

Ⅱ JAVA輸入數字轉換成漢字

public void method2(String num){

String[] arrUnit = {"元","十","百","千","萬"}; // 計量單位
String[] arrNum = {"零","一","二","三","四","五","六","七","八","九"}; //大寫數字
String[] strNum = num.split("|");
int nNumCount = strNum.length - 2;
// String newStr = "";
for(int i=0; i<strNum.length; i++){
if(strNum[i] != null && !"".equals(strNum[i])){
int n = Integer.parseInt(strNum[i]);
switch(n){
case 0 : System.out.print(arrNum[n] + "" + arrUnit[nNumCount--]); break;
case 1 : System.out.print(arrNum[n] + "" + arrUnit[nNumCount--]); break;
case 2 : System.out.print(arrNum[n] + "" + arrUnit[nNumCount--]); break;
case 3 : System.out.print(arrNum[n] + "" + arrUnit[nNumCount--]); break;
case 4 : System.out.print(arrNum[n] + "" + arrUnit[nNumCount--]); break;
case 5 : System.out.print(arrNum[n] + "" + arrUnit[nNumCount--]); break;
case 6 : System.out.print(arrNum[n] + "" + arrUnit[nNumCount--]); break;
case 7 : System.out.print(arrNum[n] + "" + arrUnit[nNumCount--]); break;
case 8 : System.out.print(arrNum[n] + "" + arrUnit[nNumCount--]); break;
case 9 : System.out.print(arrNum[n] + "" + arrUnit[nNumCount--]); break;
}
}
}
}
public static void main(String args[])
{
new Test2().method2("9999");
}

Ⅲ java數字轉換漢字

25187是漢字『扣』的字元編碼。
每一個漢字,字母,標點符號都有自己的字元編碼。
http://tool.webmasterhome.cn/ascii.asp 你看這個地址里的表就明白了。鍵盤上你按住alt鍵,在先鍵盤(數字區)輸入對應的數字,顯示出來的也是數字代碼對應的字元。
比如:在能輸入文字的地方:按住alt,在小鍵盤(數字區)上依次按下3,5放開所有鍵,你看到游標處顯示的是『#』

Ⅳ java中的數字,字母,漢字如何隨機生成

數字,字母比較簡單。

//手寫的,省略了一部分String szzm = "0123...789abc...xyzABC...XYZ"; StringBuilder bu = new StringBuilder();for(int i = 0;i<6;i++){ bu.append(szzm.charAt(new Random().nextInt(szzm.length())));}System.out.println(bu.toString());

漢字復雜一些。我的方法是數字區間,19968~40869 之間 int 轉char 都會變成漢字。
不過這個范圍有點大,2w多漢字,有繁體的,還有生僻字。 如果不怕麻煩,漢字也可和數字一樣,弄個漢字表。
StringBuilder bu = new StringBuilder();int base = 19968;int qujian = 40869 - 19968;for(int i = 0;i<6;i++){ int rand = base + new Random().nextInt(qujian); bu.append((char)rand);}System.out.println(bu.toString());

Ⅳ java中如何把字元串中的數字轉換為漢字

publicclassTest{
publicstaticvoidmain(String[]args){
System.out.println(format("登記編號123456正在審批過程中。"));
}

publicstaticStringformat(Stringtext){
for(inti=0;i<10;i++){
text=text.replace((char)('0'+i),
"零一二三四五六七八九".charAt(i));
}
returntext;
}
}

熱點內容
php分割文件 發布:2025-07-05 02:22:15 瀏覽:478
sql平均成績語句 發布:2025-07-05 02:11:41 瀏覽:277
java離線 發布:2025-07-05 02:11:35 瀏覽:66
php變數賦值給變數 發布:2025-07-05 02:10:56 瀏覽:558
javaequals方法 發布:2025-07-05 01:57:23 瀏覽:98
sqlsever外鍵 發布:2025-07-05 01:41:04 瀏覽:738
鳳凰衛士加密軟體 發布:2025-07-05 01:39:36 瀏覽:636
桌面軟體編程 發布:2025-07-05 01:32:17 瀏覽:993
編譯後的程序叫啥擴展名是啥 發布:2025-07-05 01:18:29 瀏覽:165
強轉編程 發布:2025-07-05 01:09:50 瀏覽:886