Мне нужно реализовать следующую функцию в Java: publi c int stringToNumber (String input) без использования Integer или любого другого класса или метода, который анализирует строку. Мне нужно l oop над символами строки.
Я попытался создать класс, который использует al oop для преобразования строки в целое число.
Теперь я пытаюсь вычислить как я могу вернуть 0, если строка содержит что-либо кроме цифр и начальное «-» для отрицательных чисел.
Также я пытаюсь вернуть 0, если число слишком велико или слишком мало для целого числа (Integer.MIN_SIZE в Integer.MAX_SIZE или от -2 ^ 31 до 2 ^ 31 - 1).
Ниже приведен код, который я до сих пор .... Любая помощь будет принята с благодарностью
public class StringToNumber {
public static void main(String[] args) {
StringToNumber stn = new StringToNumber();
for (String arg : args) {
int number = stn.stringToNumber(arg);
System.out.format("Input number: %s, parsed number: %d %n", arg, number);
}
}
public int stringToNumber(String stn) {
int number = 0, factor = 1;
for (int n = stn.length()-1; n >= 0; n--) {
number += (stn.charAt(n) - '0') * factor;
factor *= 10;
}
return number;
}
}