串与整数的转换
把任何东西转化为串,只要把它加上一个空串,任何值和串相加,结果都是串。
Integer.parseInt将串转换为整数
有时也采用直接的逻辑方式
String s = “9527”;
/*串转整数 String s = "9527"; */ package StringToInteger; public class StringToInt { public static void main(String[] args) { String s = "9527"; /* int n = s.charAt(0)-‘0‘;//ASCII-48,0的ASCII码为48 n = n*10 + (s.charAt(1)-‘0‘);//为了不被下一个数字覆盖掉,把n*10再加上新的数字 n = n*10 + (s.charAt(2)-‘0‘); */ //写成循环如下 int n=0; for(int i=0;i<s.length();i++){ n = n*10 + (s.charAt(i)-‘0‘); } System.out.println(n); } }
9527
int n = 5346;
6543-3456=3087;//最大-最小,不足补零
8730-0378=8352;
8352-2358........
最终我们会陷入到某一个数字再也出不来!
/*黑洞数 int n = 5346; 6543-3456=3087;//最大-最小,不足补零 8730-0378=8352; 8352-2358........ 最终我们会陷入到某一个数字再也出不来! */ package StringToInteger; import java.util.Arrays; public class BlackHoleNumber { public static void main(String[] args) { int n = 9527; while(true){ char c[] = (n+"").toCharArray();//把数字转为char数组 Arrays.sort(c);//排序,从小到大 int min = 0;//求最小值 for(int i=0;i<c.length;i++){ min=min*10+(c[i]-‘0‘); } int max = 0;//求最大值 for(int i=c.length-1;i>=0;i--){//注意起始点为c.length-1 max=max*10+(c[i]-‘0‘); } int n2 = max-min; System.out.println(max+"-"+min+"="+n2); if(n2==n){ break;//如果进入黑洞循环,跳出 } n = n2; } } }
9752-2579=7173 7731-1377=6354 6543-3456=3087 8730-378=8352 8532-2358=6174 7641-1467=6174
把大写数字翻译为整数:
一四零零六 ==> 14006
二五七 ==> 257
/* 翻译 把大写数字翻译为整数: 一四零零六 ==> 14006 二五七 ==> 257 */ package StringToInteger; public class TranslateStringToNumber { public static void main(String[] args) { String s = "一二三四五六七八九零"; // String s = "a"; int n = 0;//初始化结果整数 for(int i=0;i<s.length();i++){ if(translateToNumber(s.charAt(i))==‘e‘){//默认返回e System.out.println("输入有误。"); break; }else{ n=n*10+(translateToNumber(s.charAt(i))-‘0‘);//不断地乘10+新的数 } } System.out.println(n); } //将大写汉字转化为数字的方法 public static char translateToNumber(char a){ switch (a) { case ‘一‘: return ‘1‘; case ‘二‘: return ‘2‘; case ‘三‘: return ‘3‘; case ‘四‘: return ‘4‘; case ‘五‘: return ‘5‘; case ‘六‘: return ‘6‘; case ‘七‘: return ‘7‘; case ‘八‘: return ‘8‘; case ‘九‘: return ‘9‘; case ‘零‘: return ‘0‘; default: return ‘e‘; } } }
1234567890
编程算法基础-2.2串与数值的转换,布布扣,bubuko.com
原文:http://blog.csdn.net/u011925500/article/details/24350477