「java繁体简体」java 简体转繁体

博主:adminadmin 2023-01-12 08:48:11 1077

今天给各位分享java繁体简体的知识,其中也会对java 简体转繁体进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

在java中,怎么把繁体字转化为简体字

实现思路一:采用字符串的方式实现

[java] view plain copy

package com.bzu.converter;  

import java.util.Scanner;  

  

/** 

 * 思路一:采用字符串的方式实现 

 */  

public class JianFanConvert1 {  

    public static final String jianti = "万与丑专业丛东丝";  

    public static final String fanti = "万与丑专业丛东丝";

    public static void main(String[] args) {  

        Scanner input = new Scanner(System.in);  

        System.out.println("请输入你想转换的句子");  

        String words = input.next();  

        for (int i = 0; i  words.length(); i++) {  

            char tempChar = words.charAt(i);  

            int position = jianti.indexOf(tempChar);//此方法调用时间复杂度为O(n)  

            char fantiChar;  

            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的主要方法

int size():得到Map中“键-值对”的数量

boolean isEmpty():Map是否是空的,也就是是否不含有任何“键-值对”

boolean containsKey(Object key):Map中是否含有以key为键的“键-值对”

boolean containsValue(Object value):Map中是否含有以value为值的“键-值对”

Object get(Object key):从Map中得到以key为键的值,如果Map中不含有以key为键的“键-值对”则返回null

Object put(Object key, Object value):向Map中存储以key为键、value为值的“键-值对”

Object remove(Object key):从Map中移除以key为键的“键-值对”

void clear():清除所有“键-值对”

Set keySet():得到所有的键

Collection values():得到所有的值

Set entrySet():得到所有的“键-值对”,Set中的类型是Map.Entry

 

[java] view plain copy

package com.bzu.converter;  

import java.util.HashMap;  

import java.util.Map;  

import java.util.Scanner;  

  

/** 

 * 思路二:采用哈希算法实现 

 */  

public class JianFanConvert2 {  

    public static final String jianti = "万与丑专业丛东丝";  

    public static final String fanti = "万与丑专业丛东丝";  

  

    public static void main(String[] args) {  

        MapCharacter, Character map=new HashMapCharacter, Character();  

        for(int i=0;ijianti.length();i++){  

            map.put(jianti.charAt(i),fanti.charAt(i));  

        }  

        Scanner input = new Scanner(System.in);  

        System.out.println("请输入你想转换的句子");  

        String words = input.next();  

        /** 

         * 为了测试随着问题规模的扩大用时 

         */  

        for(int i=0;i10;i++){  

            words=words+words;  

        }  

          

        long begin=System.currentTimeMillis();  

        for (int i = 0; i  words.length(); i++) {  

            char tempChar = words.charAt(i);  

            Character character=map.get(tempChar);  

            char fantiChar;  

            if (character == null) {  

                fantiChar = tempChar;  

            } else{  

                fantiChar=character;  

            }  

            System.out.print(fantiChar);  

        }  

        long end=System.currentTimeMillis();  

        System.out.println("\n用时:"+(end-begin));  

    }  

}  

分析上述算法实现,时间复杂度变为o(n)

问题探讨:

为什么算法复杂度由O(n*n)变成O(n),但是实际执行时间没有明显的变化?

print,数据在CPU、内存中运算都非常快,一旦与外设(打印机、网络(网卡)、显示设备(显卡))交换数据,速度就会慢很多

来自

junjunguoguo的专栏

java 里面注释出来了繁体字

java的注释出来了繁体字,是Eclipse/MyEclipse编码与java文件不匹配出现乱码(繁体字)导致的。可以按如下两种方式修改:

修改java文件的编码方式,可以按以下步骤:

选中文件右键--Properties--Resource--Text file encoding--选中Other,然后选择想要的编码格式就可以了。

修改MyEclipse的编码方式,可以按以下步骤:

菜单栏的Window--Perferences--General--Work Space--Text file encoding--选中Other,然后选择想要的编码格式就可以了。

Java如何判断汉字是简体还是繁体

[\u4e00-\u9fa5]

这个可以判断是不是汉字,我测试时,不能区分简繁。

找到下边这些JS的正则。(测试也区分不了简繁。)

[\u2E80-\u9FFF]+$

匹配所有东亚区的语言

[\u4E00-\u9FFF]+$

匹配简体和繁体

[\u4E00-\u9FA5]+$

匹配简体

希望能你有点帮助,我再找找怎么区分简繁。

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;istrInfo.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;

}

}

}

}

Java中怎么判断中文中是否包含生僻字或繁体字

[\u4e00-\u9fa5]

这个可以判断是不是汉字,我测试时,不能区分简繁。

找到下边这些JS的正则。(测试也区分不了简繁。)

[\u2E80-\u9FFF]+$ 匹配所有东亚区的语言

[\u4E00-\u9FFF]+$ 匹配简体和繁体

[\u4E00-\u9FA5]+$ 匹配简体

如何用java将繁体字转为简体字

我不知道你是要自己实现,还是说只要有个类库就可以了,下面是我找的一个类库的实例代码:

package test3;

import net.sf.chineseutils.ChineseUtils;

public class Test {

public static void main(String args[]) throws Exception{

System.out.println(ChineseUtils.simpToTrad("把BIG5繁体字符串转换成的GB简体字符串。"));

}

}

输出:

把BIG5繁体字符串转换成的GB简体字符串。

java繁体简体的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java 简体转繁体、java繁体简体的信息别忘了在本站进行查找喔。