Ⅰ java項目翻譯繁體
必須用國際化,無論哪個國家的文字都可以轉換。
struts和spring都提供了國際化支持,你查一下國際化怎麼做就行了。
很簡單的。。。說簡單點就是把頁面中需要顯示的文字,都存進屬性文件里,一個屬性指向多種文字,最後根據用戶需要,選取適合的字體就行了。。無論英文,繁體字,還是小日本的文字,都可以定義。。
Ⅱ 如何用java實現簡體中文和繁體中文之間的轉換
有第三方庫
Ⅲ 在java中,怎麼把繁體字轉化為簡體字
實現思路一:採用字元串的方式實現
[java]viewplain
packagecom.bzu.converter;
importjava.util.Scanner;
/**
*思路一:採用字元串的方式實現
*/
publicclassJianFanConvert1{
publicstaticfinalStringjianti="萬與丑專業叢東絲";
publicstaticfinalStringfanti="萬與丑專業叢東絲";
publicstaticvoidmain(String[]args){
Scannerinput=newScanner(System.in);
System.out.println("請輸入你想轉換的句子");
Stringwords=input.next();
for(inti=0;i<words.length();i++){
chartempChar=words.charAt(i);
intposition=jianti.indexOf(tempChar);//此方法調用時間復雜度為O(n)
charfantiChar;
if(position==-1){
fantiChar=tempChar;
}else{
fantiChar=fanti.charAt(position);
}
System.out.print(fantiChar);
}
}
}
分析上述實現,時間復雜度為O(n*n),當問題規模擴大時會非常耗時。
實現思路二:採用哈希演算法實現
1.哈希方法
哈希方法在就是在鍵和值之間建立一個確定的對應函數關系hash(),就是key向value的換算關系,使得每一個鍵與結構中的一個唯一的存儲位置相對應:值的存儲位置=hash(鍵)即Value的位置=hash(key)
例如有一組「鍵值對」:<5,」tom」>、<8,」Jane」>、<12,」Bit」>、<17,」Lily」>、<20,」sunny」>,我們按照如下哈希函數對鍵進行計算:hash(x)=x%17+3,得出如下結果:hash(5)=8、hash(8)=11、hash(12)=15、hash(17)=3、hash(20)=6。
我們把<5,」tom」>、<8,」Jane」>、<12,」Bit」>、<17,」Lily」>、<20,」sunny」>分別放到地址為8、11、15、3、6的位置上。當要檢索17對應的值的時候,只要首先計算17的哈希值為3,然後到地址為3的地方去取數據就可以找到17對應的數據是「Lily」了。
使用哈希方法,查詢的時間復雜度為O(1),能夠直接定位其位置,大大加快數據的查詢速度。
2.哈希表
將數據採用哈希演算法進行保存的數據結構就是哈希表,常見操作put、get、remove。
Java中的HashMap使用(Java內置的哈希表數據結構)
HashMap的主要方法
intsize():得到Map中「鍵-值對」的數量
booleanisEmpty():Map是否是空的,也就是是否不含有任何「鍵-值對」
booleancontainsKey(Objectkey):Map中是否含有以key為鍵的「鍵-值對」
booleancontainsValue(Objectvalue):Map中是否含有以value為值的「鍵-值對」
Objectget(Objectkey):從Map中得到以key為鍵的值,如果Map中不含有以key為鍵的「鍵-值對」則返回null
Objectput(Objectkey,Objectvalue):向Map中存儲以key為鍵、value為值的「鍵-值對」
Objectremove(Objectkey):從Map中移除以key為鍵的「鍵-值對」
voidclear():清除所有「鍵-值對」
SetkeySet():得到所有的鍵
Collectionvalues():得到所有的值
SetentrySet():得到所有的「鍵-值對」,Set中的類型是Map.Entry
[java]viewplain
packagecom.bzu.converter;
importjava.util.HashMap;
importjava.util.Map;
importjava.util.Scanner;
/**
*思路二:採用哈希演算法實現
*/
publicclassJianFanConvert2{
publicstaticfinalStringjianti="萬與丑專業叢東絲";
publicstaticfinalStringfanti="萬與丑專業叢東絲";
publicstaticvoidmain(String[]args){
Map<Character,Character>map=newHashMap<Character,Character>();
for(inti=0;i<jianti.length();i++){
map.put(jianti.charAt(i),fanti.charAt(i));
}
Scannerinput=newScanner(System.in);
System.out.println("請輸入你想轉換的句子");
Stringwords=input.next();
/**
*為了測試隨著問題規模的擴大用時
*/
for(inti=0;i<10;i++){
words=words+words;
}
longbegin=System.currentTimeMillis();
for(inti=0;i<words.length();i++){
chartempChar=words.charAt(i);
Charactercharacter=map.get(tempChar);
charfantiChar;
if(character==null){
fantiChar=tempChar;
}else{
fantiChar=character;
}
System.out.print(fantiChar);
}
longend=System.currentTimeMillis();
System.out.println(" 用時:"+(end-begin));
}
}
分析上述演算法實現,時間復雜度變為o(n)
問題探討:
為什麼演算法復雜度由O(n*n)變成O(n),但是實際執行時間沒有明顯的變化?
print,數據在CPU、內存中運算都非常快,一旦與外設(列印機、網路(網卡)、顯示設備(顯卡))交換數據,速度就會慢很多
來自
junjunguoguo的專欄
Ⅳ 如何用java將繁體字轉為簡體字
我不知道你是要自己實現,還是說只要有個類庫就可以了,下面是我找的一個類庫的實例代碼:
packagetest3;
importnet.sf.chineseutils.ChineseUtils;
publicclassTest{
publicstaticvoidmain(Stringargs[])throwsException{
System.out.println(ChineseUtils.simpToTrad("把BIG5繁體字元串轉換成的GB簡體字元串。"));
}
}
輸出:
把BIG5繁體字元串轉換成的GB簡體字元串。
Ⅳ java寫文件時寫入TXT的都是中文都是繁體字,怎麼換成簡體字,UTF-8,GBK,GB2312都試過了都不行
你需要進行轉碼,你下載一個notepad++文本編輯器,然後在格式中進行轉碼。
Ⅵ java實現utf-8與big5轉換
簡體轉繁體,不能簡單的編碼轉換,最好用前人做好的轉換庫。
自動轉換要解決很多問題。
比如
後要對應 後 後
里要對應 裏、里
歷要對應 歷、歷
台要對應 台、台
干要對應 乾、干、榦
面要對應麫、麪、面
升要對應升、升、升
等等等等
現在還沒有能完美解決這些簡化繁的用字錯誤的自動轉換軟體。
Ⅶ java 如何在過濾器中轉換簡繁體啊
如何用JAVA實現簡繁體轉換 //不正確,我的可以 public class Fan_jian { String jtPy = "萬與丑專業叢東絲丟兩嚴喪個丬豐臨為麗舉么義烏樂,WgWHfZ
Ⅷ JAVA中如何將GBK繁體字轉化成簡體字
有getCharacterEncoding() 方法,返回值是String的,你可以根據String處理來判斷是哪種字元集;以下是api的解釋
Returns the name of the character encoding used in the body of this request.
當然有點偏題了,關於「JAVA中如何將GBK繁體字轉化成簡體字」的問題你可以看以下鏈接:http://hi..com/chenhaoxian/blog/item/cbada8c3e3432c54b219a86b.html
這是方法之一,你完全可以放到伺服器端做,並且做的更細一些,只是那樣會加重伺服器負擔,一般的都可以在瀏覽器處理……
Ⅸ java如何做到繁體中文轉換
說的不具體,如果是在JSP網頁上,可以使用資源文件,properties擴展名
Ⅹ java 實現 簡體gb 到 繁體 再到 big5碼 的轉換
public class CharDecode {
public static void main(String[] args) throws Exception{
// TODO: Add your code here
System.setProperty("file.encoding","big5");//系統默認字元改成big5
System.out.println("please enter a chinese String:");
byte [] buf = new byte[1024];
String strInfo = null;
int pos = 0;
int ch = 0;
while(true)
{
ch = System.in.read();
System.out.println(Integer.toHexString(ch));
switch(ch)
{
case '\r':
break;
case '\n':
strInfo = new String(buf,0,pos);//使用默認字元集
for(int i=0;i<strInfo.length();i++)
{
System.out.println(Integer.toHexString(/*(int)*/strInfo.charAt(i)));
}
System.out.println(new String(strInfo.getBytes("big5"),"gb2312"));//big5轉換成gb2312
break;
default:
buf[pos++] = (byte)ch;
}
}
}
}