JAVA--字符串转int

给定一个String类型的字符串,例如String str = "123";
将他转换为int类型
package exercises2;
import com.sun.org.apache.bcel.internal.generic.RETURN;
import java.util.Objects;


public class TranFor {
public static void main(String[] args) {
String str = "123";
int a = new Integer(str);
Integer b = Integer.valueOf(str);
int c = Integer.parseInt(str,10);//直接调用parseInt(字符串变量名,要转换的进制例如10进制)
//写的方法,不如上面方便
System.out.println(tranForMation(str));
}

private static int tranForMation(String str) {
Objects.requireNonNull(str);
int length = str.length();
if (length == 0) {
throw new NumberFormatException("字符串为空");
}
final int radix = 10;
int index = 0;
boolean flag = false;
char firstChar = str.charAt(index);
if (firstChar == '-') {
flag = true;
index++;
} else if (firstChar == '+') {
index++;
} else if (firstChar < 48 || firstChar > 57) {
throw new NumberFormatException("字符串为空");
}
int result = 0;
while (index < length) {
char ch = str.charAt(index++);
if (ch < 48 || ch > 57) {
throw new NumberFormatException("字符串为空");
}
int num = ch - 48;
result = num+result*radix;
}
return flag?-result:result;
}
}
posted @ 2022-10-15 13:16  学JAVA的旅行者  阅读(386)  评论(0)    收藏  举报