No20、(字符串)

来源:互联网 发布:网络机房建设国家标准 编辑:程序博客网 时间:2024/05/13 01:19
题目:输入一个表示整数的字符串,把该字符串转换成整数并输出。

例如输入字符串"345",则输出整数 345。


解题思路:


1>Java里面的Integer.parseInt,可以看看它对异常情况的处理


2>循环相乘

第一版代码:

public class Q20 {public static void main(String[] args) {String str = "4535634";char[] ch = str.toCharArray();int jinzhi = 1;int result = 0;for(int i = 0;i < str.length();i++){int num = (int)(ch[i]-'0');result = result * 10 + num;}System.out.println(result);}}

缺点:没有加入异常判断,比如负数、字符串不能表示成一个整数...

第二版代码:

public class Q20 {public static void main(String[] args) {String str = "-4535s634";char[] ch = str.toCharArray();int flag = 1;int result = 0;for(int i = 0;i < str.length();i++){if('0' <= ch[i] && ch[i] <= '9'){int num = (int)(ch[i]-'0');result = result * 10 + num;}else{if(i == 0 && ch[i] == '-')flag = -1;else{System.out.println("Not a Integer!");return;}}}if(flag == 1)System.out.println(result);elseSystem.out.println(0-result);}}

缺点:Java中的Int是4个字节32位,如果超过最大值或者最小值怎么处理......求问..


原创粉丝点击