无法将字符值转换为整数值

时间:2016-03-31 06:30:05

标签: java arrays char integer

import java.util.Scanner;

public class baseConverter {
//Main method
public static void main(String[] args){
    Scanner keyboard = new Scanner(System.in);
    String input = "";
    System.out.println("What number base would you like to convert?");
    int base = keyboard.nextInt();

    //Checking if the base is between 2 and 9, inclusive
    if (base >= 2 && base <=9){
        System.out.println("Please enter a base " + base + " number:");
    }else{
        System.out.println("Please enter a base from 2 to 9");
    }
    input = keyboard.next();
    int converted = compute(input, base);
    System.out.println("The base-10 conversion of that number is " + converted);
}
//Where all the conversion will take place
public static int compute(String userString, int userBase){
    int n = userString.length(), output = 0;
    int[] num = new int[n];

    //The for loop that does all the computing
    for (int i = 1; i <= n; i++){
        //assigning values to the array indeces
        num[i-1] = Integer.parseInt(String.valueOf(userString.charAt(i-1)));
        if(num[i-1] != 0){
            output = output + ((userBase ^ (n-i)) * (num[i-1]-1));
        }else{
            output = output;
        }
    }
    System.out.println("User base is " + userBase+ ". n is "+ n);
    return output;
    }
}

当我运行它并输入基数和3以及输入为2时,它似乎转换了值&#39; 2&#39;将它存储在num数组中时,它的ASCII值为50。我想我的问题是,是否有任何方法可以解决这个问题,或者将字符串中的值作为整数存储的完全不同的方式。

0 个答案:

没有答案