这是我的任务。我不知道如何实现这个方法。
实现一个 Integer parseInt(String str) 方法抛出 NumberFormatException ,它将接受输入字符串,该字符串必须只包含数字,并且不能从零开始,并返回一个数字,该数字必须从该行的转换中获得。不允许使用 Java 默认类的方法。我就是这样解决的:
公共类 Pars {
public static void main(String[] args) {
String s = " ";
int res = 0;
int[] arr = new int[s.length()];
try {
for (int i = 0; i < s.length(); i++) {
arr[i] = s.trim().charAt(i);
}
try {
for (int i = arr.length - 1, j = 1; i >= 0; i--, j *= 10) {
if ((arr[0] - 48) <= 0 || (arr[i] - 48) >= 10) {
throw new NumberFormatException();
} else {
res += (arr[i] - 48) * j;
}
}
System.out.println(res);
} catch (NumberFormatException n) {
System.out.println("Enter only numbers .");
}
} catch (StringIndexOutOfBoundsException str) {
System.out.println("Don't enter a space!");
}
}
}