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

口试中关于字符串的操作

2012-09-08 
面试中关于字符串的操作1、将一个由数字组成的字符串变为数字类型:编写一个类Number:提供两个方法:paraseIn

面试中关于字符串的操作

1、将一个由数字组成的字符串变为数字类型:

编写一个类Number:

提供两个方法:

paraseInt:将字符串变为整形

parseDouble:将字符串变为浮点型

public class Number{public static int parseInt(String str){int result=0;int sign=1;//符号位,默认为正int i=0;if(str.charAt(i)=='-'){//判断数字前面是否有符号,若有并且是-,那么是负数sign=-1;}if(str.charAt(i)=='+'|| str.charAt(i)=='-'){//如果有符号位,则需要从第二个字符开始转换i++;}for(int j=i;j<str.length();j++){if(str.charAt(j)>='0' && str.charAt(j)<='9'){result=result*10+str.charAt(j)-'0';}else{throw new NumberFormatException();}}return result*sign;}public static double parseDouble(String str){double result=0.0;int i=0;double power=10.0;int sign=1;if(str.charAt(i)=='-'){sign=-1;}if(str.charAt(i)=='+'|| str.charAt(i)=='-'){i++;}for(int j=i;j<str.length();j++){if(str.charAt(j)>='0' && str.charAt(j)<='9'){result=result*10+str.charAt(j)-'0';}else {i=j+1;break;}}for(int j=i;j<str.length();j++){if(str.charAt(j)>='0' && str.charAt(j)<='9'){result=result+(str.charAt(j)-'0')/power;power=power*10.0;}}return result*sign;}}

 

2、对给定的字符串翻转:

public class Reverse{public static void reverse(char []str){for(int i=0;i<str.length/2;i++){char temp=str[i];str[i]=str[str.length-1-i];str[str.length-1-i]=temp;}System.out.println(str);}}


3、将一个数字转换为二进制字符串和十六进制字符串

public class ToString{public static String toBinaryString(int val){String str="";for(int i=0x80000000;i!=0;i>>>=1){str=str+((i&val)==0?"0":"1");}return str;}public static String toHexString(int val){String str="";while(val>0){int temp=val%16;if(temp>=0&& temp<=9){str=(temp+'0')+str;}else if(temp>=10 && temp<=15){str=(char)(temp-10+'A')+str;}val=val/16;}return str;}}



 

热点排行