我如何在不使用 parseInt 和 String.valueOf() (java) 的情况下将 char 数组转换为 int

how i can convert char array to int without use parseInt and String.valueOf() (java)

需要将 char 数组转换为 int 而不使用 parseInt 和 String.valueOf(),

需要实现这个方法

public static int parseInt(char[] str) {
  
}

例如,如果输入数据是char[] str = {'-','1','2','3'};

需要显示:

int result = parseInt(str);

System.out.println(result); // -123

它将适用于您的情况

public static int parseInt(char[] str) {
        int result = 0;
        int start = 0;
        boolean negative = false;
        if(str[0] == '-') {
            start = 1;
            negative = true;
        }
        for (int i = start; i < str.length; i++)
        {
            
            int digit = (int)str[i] - (int)'0';
            if ((digit < 0) || (digit > 9)) throw new NumberFormatException();
            result *= 10;
            result += digit;
        }
        if(negative) {
            result = 0 - result;
        }
        return result;
    }
public static void main(String[] args) {
    char[] str = {'-', '1', '2', '3'};
    int[] charToInt = new int[str.length];
    for (int i = 0; i < str.length; i++) {
        charToInt[i] = Character.getNumericValue(str[i]);
    }
    System.out.println(Arrays.toString(charToInt));
}

Mb 类似这样,但我不确定第一个字符