作为java CSC类的编程任务,我编写了以下代码,将数字及其基数转换为十进制数,然后转换为所需的数字和基数。
public static int baseten(int number,int basein){
int power = 0;
int baseten = 0;
while (number > 0) {
int finalDigit = number % 10;
int product = finalDigit*(int)Math.pow(basein, power);
baseten += product;
number = number / 10;
power++;
}
return(baseten);
}
public static String convert (int decimal, int baseout){
String result = "";
while (decimal > 0){
//if baseout
int remainder = decimal % baseout;
decimal = decimal / baseout;
result = remainder + result;
}
return(result);
}问题是如何在此代码中将数字转换为大于十的基数?我假设可能是一个char[],但我现在不太擅长数组,无法想象它会是什么样子。我认为我不能使用toString或parseInt的,任何帮助都将不胜感激。提前谢谢。
发布于 2015-02-20 06:36:56
你就快到了。您可以做的是插入一个if/else语句,以确定余数是否大于或等于10,并执行相应的操作。如果不是,就做你现在正在做的事情。如果是,则需要在字符串中添加一个字符。这个字符必须是(余数-10)+ 65,因为65在ascii表上是大写的A,你需要知道十个余数上面有多少位数字,然后加到A上。这可以简化为简单地加55,但在我看来可读性较差。然后,只需将该字符添加到字符串中,而不是添加int。
https://stackoverflow.com/questions/28617889
复制相似问题