实现代码如下:

public class change {

public static void main(String[] args) {

String QJstr="全角转半角DAO";

String result=SBCchange(QJstr);

System.out.println(QJstr+"\n"+result);

}

public static final String SBCchange(String QJstr)

{

String outStr="";

String Tstr="";

byte[] b=null;

for(int i=0;i{

try

{

Tstr=QJstr.substring(i,i+1);

b=Tstr.getBytes("unicode");

}

catch(java.io.UnsupportedEncodingException e)

{

e.printStackTrace();

}

if (b[3]==-1)

{

b[2]=(byte)(b[2]+32);

b[3]=0;

try

{

outStr=outStr+new String(b,"unicode");

}

catch(java.io.UnsupportedEncodingException e)

{

e.printStackTrace();

}

}else outStr=outStr+Tstr;

}

return outStr;

}

}

public class Test {

public static void main(String[] args) {

String QJstr = "hello";

String QJstr1 = "hehe";

String result = BQchange(QJstr);

String result1 = QBchange(QJstr1);

System.out.println(QJstr + "\n" + result);

System.out.println(QJstr1 + "\n" + result1);

}

// 半角转全角

public static final String BQchange(String QJstr) {

String outStr = "";

String Tstr = "";

byte[] b = null;

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

try {

Tstr = QJstr.substring(i, i + 1);

b = Tstr.getBytes("unicode");

} catch (java.io.UnsupportedEncodingException e) {

e.printStackTrace();

}

if (b[3] != -1) {

b[2] = (byte) (b[2] - 32);

b[3] = -1;

try {

outStr = outStr + new String(b, "unicode");

} catch (java.io.UnsupportedEncodingException e) {

e.printStackTrace();

}

} else

outStr = outStr + Tstr;

}

return outStr;

}

// 全角转半角

public static final String QBchange(String QJstr) {

String outStr = "";

String Tstr = "";

byte[] b = null;

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

try {

Tstr = QJstr.substring(i, i + 1);

b = Tstr.getBytes("unicode");

} catch (java.io.UnsupportedEncodingException e) {

e.printStackTrace();

}

if (b[3] == -1) {

b[2] = (byte) (b[2] + 32);

b[3] = 0;

try {

outStr = outStr + new String(b, "unicode");

} catch (java.io.UnsupportedEncodingException e) {

e.printStackTrace();

}

} else

outStr = outStr + Tstr;

}

return outStr;

}

}

/**/// /

// / 转全角的函数(SBC case)

// /

// /任意字符串

// /全角字符串

// /

// /全角空格为12288,半角空格为32

// /其他字符半角(33-126)与全角(65281-65374)的对应关系是:均相差65248

// /

public static String ToSBC(String input) {

// 半角转全角:

char[] c = input.toCharArray();

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

if (c[i] == 32) {

c[i] = (char) 12288;

continue;

}

if (c[i]< 127)

c[i] = (char) (c[i] + 65248);

}

return new String(c);

}

/**/// /

// / 转半角的函数(DBC case)

// /

// /任意字符串

// /半角字符串

// /

// /全角空格为12288,半角空格为32

// /其他字符半角(33-126)与考试.大提示全角(65281-65374)的对应关系是:均相差65248

// /

public static String ToDBC(String input) {

char[] c = input.toCharArray();

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

if (c[i] == 12288) {

c[i] = (char) 32;

continue;

}

if (c[i]> 65280&& c[i]< 65375)

c[i] = (char) (c[i] - 65248);

}

return new String(c);

}

java全角数字_JAVA技巧(JAVA全角和半角的转换代码)相关推荐

  1. java 数据排序需求分析_java 实现数组全排序

    什么是全排序? 所谓的数组全排序也就是将数组中的元素的所有排列组合全部列出来 比如 数组 char[] data = {'a', 'b', 'c', 'd'}; 那么就需要将 abcd, acbd, ...

  2. java 获得唯一 数字_java生成唯一数字

    java生成唯一数字 用UUID类生成唯一标识的时候,会生成一个十六进制的整数,但是不能作为数据库long型字段的唯一标识,用下面的办法可以实现数据库long型标识的生成: public class ...

  3. java 液晶屏数字_java实现液晶数字字体显示当前时间

    本文实例为大家分享了java实现液晶数字字体显示当前时间的具体代码,供大家参考,具体内容如下 import java.text.SimpleDateFormat; import java.util.D ...

  4. java开发金融数字_java金融数字用什么类型

    2016-09-01 00:30齐春怡 客户经理 JDK1.7的发布已经介绍了一些有用的特征,尽管大部分都是一些语法糖,但仍然极大地提高了代码的可读性和质量.其中的一个特征是介绍字面常量数字的下划线. ...

  5. java字符转数字_java怎样做到字符串转数字

    java字符串转数字的方法:1.转化为整型数字[Integer.parseInt(String s) ]:2.转化为浮点型数字[Float.parseFloat(String s)]. 相关免费学习推 ...

  6. java字符转数字_Java字符串和数字间的转换

    title: Java字符串和数字间的转换 date: 2016-04-23 23:06:50 categories: Java tags: Java 一.字符串转数字 1.通过基本类型对应的包装类则 ...

  7. java队列 双队列_Java队列– Java队列

    java队列 双队列 Java Queue is an interface available in java.util package and extends java.util.Collectio ...

  8. 取java.sql.date日期_JAVA 处理时间 - java.sql.Date、java.util.Date与数据库中的Date字段的转换方法[转]...

    1.如何将java.util.Date转化为java.sql.Date? 转化: java.sql.Date sd; java.util.Date ud; //initialize the ud su ...

  9. java 反射 获取 实例_java通过类反射获取某个类的所有信息--代码实例

    package huang.de.wei; import java.lang.annotation.Annotation; import java.lang.reflect.Constructor; ...

最新文章

  1. 更改Linux用户的登录shell环境
  2. 最老程序员创业札记:全文检索、数据挖掘、推荐引擎应用48
  3. python idle怎么用_python的idle如何使用
  4. Linux 添加DNS配置
  5. Python 基础函数
  6. linux中波浪线是根目录吗,linux 波浪线 ~ 使用方法
  7. 这次是小米!5.31亿元深圳买地:将与腾讯、阿里做邻居
  8. Python中map的使用方法
  9. win32 api for .net
  10. api调用实例python_调用阿里云API 的demo示例(java/python)
  11. 重定向Http status code 303 和 302
  12. 最快的摘要HASH算法测试
  13. 前端-深克隆与浅克隆
  14. Outlook 点击邮箱签名没有反应卡死
  15. Linux进程管理四大工具ps \dstat\ top\ htop
  16. STM32G474的启动模式NRST引脚特性
  17. 针对优衣库商品的图片获取(第一张)以及excel图片链接显示成图片
  18. 是不是程序员总会遇到一个瓶颈期,觉得自己没有进步了,该怎么解决?
  19. spring boot: Whitelabel Error Page(小白的终极解决方案)
  20. 银行从业中级系列课程之——银行管理(一)宏观经济与环境

热门文章

  1. 2017年你不应该错过的编程语言、框架和工具
  2. 一位特殊的中国特斯拉车主,让马斯克感动了
  3. NOIP2018(普及组 ) 赛后感想 题解
  4. 输了腾讯赢了阿里:凭借27天超强度复习Java核心知识+面试神技,三面阿里斩获P6岗offer(飞猪事业部)
  5. 【感恩】为做运维的重病老同事李静波寻求帮助
  6. TOGAF10标准读书会第2场活动精彩继续,高光时刻回顾!
  7. README.md的内容格式
  8. 一文读懂Java中File类、字节流、字符流、转换流
  9. EasyRecovery最新版本Photo16电脑数据恢复软件下载
  10. 在html中div水平垂直css,html中div使用CSS实现水平/垂直居中的多种方式