题目:输入一个表示整数的字符串,把该字符串转换成整数并输出。
缺点:没有加入异常判断,比如负数、字符串不能表示成一个整数...
缺点:Java中的Int是4个字节32位,如果超过最大值或者最小值怎么处理......求问..
例如输入字符串"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);
else
System.out.println(0-result);
}
}
缺点:Java中的Int是4个字节32位,如果超过最大值或者最小值怎么处理......求问..