首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

JAVA半角与全角的变换

2012-12-21 
JAVA半角与全角的转换package testimport java.io.InputStreamReaderimport java.io.BufferedReaderpub

JAVA半角与全角的转换
package test;
import java.io.InputStreamReader;
import java.io.BufferedReader;
public class haha {
  public haha() {
  }
  public static byte[] getValue(String key){
    byte[] temp=key.getBytes() ;
    int len=temp.length ;
    byte[] ret=new byte[len*2];
    for(int i=0,j=0;i<len;i++,j=j+2){
      ret[j]=-93;
      temp-=128;
      ret[j+1]=temp;
    }
    return ret;
  }
  public static byte[] getBjValue(String key){
    byte[] temp=key.getBytes() ;
    int len=temp.length ;
   
    int qjlen=0;
    for(int m=0;m<len;m++){//计算全角字母的个数
      if(temp[m]==-93){
        qjlen++;
        m++;
      }
    }
    byte[] ret=new byte[len-qjlen];
    for(int i=0,j=0;j<len;i++,j++){
      if(temp[j]==-93){//全角的
        temp[j+1]+=128;
        ret=temp[j+1];
        j++;
      }else{
        ret=temp[j];//普通的
      }
    }
    return ret;
  }
  public static void main(String args[]){
    try{
     System.out.println("请输入半角字母或数字的字符串:");
     BufferedReader ch=new BufferedReader(new InputStreamReader(System.in));
     String pd = null;
       pd = ch.readLine();
       System.out.println(new String(haha.getValue(pd)));
       System.out.println("请输入包含全角字母或数字的字符串:");
       String pd2=ch.readLine();
       System.out.println(new String(haha.getBjValue(pd2)));
     ch.close() ;
     System.out.println("ad1gd2avd="+new String(haha.getBjValue("ad1gd2avd")));
   }    catch(Exception e){
   }
  }
}

热点排行