【发布时间】:2017-03-12 09:07:02
【问题描述】:
我有一个静态方法,它接受一个 char[] 和一个 int 作为其参数。 char[] 数组是一个数字字符数组,int 是给定数字的基数或基数。我正在尝试将 char 数组转换为给定基数中的整数类型,但我不知道如何做到这一点。到目前为止,我创建了一个方法,它接受一个以十为底的数字的 char[] 并将其转换为以 10 为底的 int。
这是我目前所拥有的:
public static int parseInt(char[] valueAsChars, int radix)
{
char[] letters = {'A','B','C','D','E','F'};
String convertedString = "";
int convertedNumber = 0;
int digit = 0;
int counter = 1;
char letter = '0';
// converts array to String
for(int arrayPlace = 0; arrayPlace < valueAsChars.length; arrayPlace++)
{
convertedString = convertedString + valueAsChars[arrayPlace];
}
//converts String to int
for(int stringPlace = convertedString.length() - 1; stringPlace >= 0; stringPlace--)
{
digit = (convertedString.charAt(stringPlace)-'0');
convertedNumber += digit * counter;
counter *= radix;
}
return convertedNumber;
}
除了基数不同的数字,我该怎么做?
【问题讨论】:
-
你能详细说明你迷路的地方吗?
-
我对如何将特定基数(基数)中给出的 char 数组更改为同一基数的 int 感到困惑。例如,如果为十六进制数字给出一个字母,例如 {'1','2','3','A'} 我将如何在 int 值中表示它?
标签: java arrays methods integer