Java 如何使用基转换将输入字符串转换为整数
我想我的代码,每当我输入一个基数从2-36,它可以输出一个数字,这是十进制。这是我的密码Java 如何使用基转换将输入字符串转换为整数,java,base-conversion,Java,Base Conversion,我想我的代码,每当我输入一个基数从2-36,它可以输出一个数字,这是十进制。这是我的密码 package code; public class solution{ public static int x2ten(String s, int base){ String[] bits = s.split(""); int result = 0; for(int i=0; i < bits.length; i++ ){
package code;
public class solution{
public static int x2ten(String s, int base){
String[] bits = s.split("");
int result = 0;
for(int i=0; i < bits.length; i++ ){
int val = (Integer.parseInt(bits[bits.length-1-i])) * ((int)Math.pow(base,i));
val = charToInt(Integer.parseInt(bits[bits.length-1-i]))* ((int)Math.pow(base,i));
result += val;
}
return result;
}
public static int charToInt(char c){
char[] characters = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F','G',
'H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'};
for(int j = 0; j<characters.length; j++){
if(characters[j] == c){
return j;
}
}
return -1;
}
public static void main(String[] args)
{
System.out.println(x2ten("1101",2));
}
}
包码;
公共类解决方案{
公共静态整数x2ten(字符串s,整数基){
字符串[]位=s.split(“”);
int结果=0;
for(int i=0;i
我建议删除您的方法,完全支持JDK中的方法,它甚至具有相同的签名。这是一个轮子,它是:
我建议删除您的方法,完全支持JDK中的方法,它甚至具有相同的签名。这是一个轮子,它是:
我建议删除您的方法,完全支持JDK中的方法,它甚至具有相同的签名。这是一个轮子,它是:
我建议完全删除您的方法,而使用JDK中的方法,它甚至具有相同的签名。如果您注意到,在函数调用中,对函数ChartPoint()的调用,您正在传递一个整数作为参数,但是如果看到函数的定义,它需要一个字符。因此建议您将其更改为int。希望这有帮助:)如果您注意到在函数调用中ChartPoint()函数,您正在传递一个整数作为参数,但是如果看到函数的定义,它需要一个字符。因此建议您将其更改为int。希望这有帮助:)如果您注意到在函数调用中ChartPoint()函数,您正在传递一个整数作为参数,但是如果看到函数的定义,它需要一个字符。因此建议您将其更改为int。希望这有帮助:)如果您注意到在函数调用中ChartPoint()函数,您正在传递一个整数作为参数,但如果看到函数的定义,它需要一个字符。因此建议您将其更改为int。希望这有帮助:)如果您坚持使用自己的代码,您可能应该考虑以下事项:
如果要获取字符串中所有字符的数组,请使用tocharray()
方法。这将为您提供一个char[]
,这在程序的其余部分中也会更有用
如果你从未使用过一个值,并且立即在其中得到另一个值,那么给val
赋值有什么意义呢?去掉第一行。它似乎不是很有用,是吗
如果在数字中使用文字,请小心使用Integer.parseInt(字符串s)
。它应该抛出NumberFormatException
如果您坚持使用自己的代码,您可能应该记住以下几点:
如果要获取字符串中所有字符的数组,请使用tocharray()
方法。这将为您提供一个char[]
,这在程序的其余部分中也会更有用
如果你从未使用过一个值,并且立即在其中得到另一个值,那么给val
赋值有什么意义呢?去掉第一行。它似乎不是很有用,是吗
如果在数字中使用文字,请小心使用Integer.parseInt(字符串s)
。它应该抛出NumberFormatException
如果您坚持使用自己的代码,您可能应该记住以下几点:
如果要获取字符串中所有字符的数组,请使用tocharray()
方法。这将为您提供一个char[]
,这在程序的其余部分中也会更有用
如果你从未使用过一个值,并且立即在其中得到另一个值,那么给val
赋值有什么意义呢?去掉第一行。它似乎不是很有用,是吗
如果在数字中使用文字,请小心使用Integer.parseInt(字符串s)
。它应该抛出NumberFormatException
如果您坚持使用自己的代码,您可能应该记住以下几点:
如果要获取字符串中所有字符的数组,请使用tocharray()
方法。这将为您提供一个char[]
,这在程序的其余部分中也会更有用
如果你从未使用过一个值,并且立即在其中得到另一个值,那么给val
赋值有什么意义呢?去掉第一行。它似乎不是很有用,是吗
如果在数字中使用文字,请小心使用Integer.parseInt(字符串s)
。它应该抛出NumberFormatException
您能更具体地说明“十进制输出26”的含义吗?您能更具体地说明“十进制输出26”的含义吗?您能更具体地说明“十进制输出26”的含义吗?您能更具体地说明“十进制输出26”的含义吗?
public static int x2ten(String s, int base) {
return Integer.parseInt(s, base);
}