Java 将以10为基数的数字转换为任意数字
这里有几个类似的线索,提出了一个类似于我的问题,但我无法找到一个相对简单的解决方案。我想知道你们有什么想法 我有一些代码,可以取任何以10为基数的数字,并将其转换为以1到11为基数的数字。当我开始学习十六进制格式的时候,我会很挣扎,因为我需要字母和数字作为基数。我相信这个解决方案很简单,但我目前还没有找到。任何帮助都将不胜感激Java 将以10为基数的数字转换为任意数字,java,Java,这里有几个类似的线索,提出了一个类似于我的问题,但我无法找到一个相对简单的解决方案。我想知道你们有什么想法 我有一些代码,可以取任何以10为基数的数字,并将其转换为以1到11为基数的数字。当我开始学习十六进制格式的时候,我会很挣扎,因为我需要字母和数字作为基数。我相信这个解决方案很简单,但我目前还没有找到。任何帮助都将不胜感激 import static java.lang.System.*; public class TenToAny { private int base10;
import static java.lang.System.*;
public class TenToAny
{
private int base10;
private int newBase;
public TenToAny(int ten, int base)
{
base10 = ten;
newBase = base;
}
public void setNums(int ten, int base)
{
base10 = ten;
newBase = base;
}
public String getNewNum()
{
String newNum="";
int original = base10;
while(original > 0)
{
newNum = original%newBase + newNum;
original = original/newBase;
}
return newNum;
}
public String toString()
{
String complete = base10 + " base 10 is " + getNewNum() + " in base " + newBase;
return complete;
}
}
我将创建一个字符串数组,用所有必要的数字/字母初始化,并将字符串放在数组的索引处,而不是将数字放在字符串的末尾,如下所示:
String[] myStringArray = { "0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F"};
或者,正如@Alnitak所提到的,只需使用一个字符串,然后使用charAt函数:
String myString = "0123456789ABCDEF";
这样,如果余数是5,则得到5,如果是13,则得到C,等等。我将创建一个字符串数组,用所有必要的数字/字母初始化,而不是将数字放在字符串的末尾,而是将字符串放在数组的索引处,如下所示:
String[] myStringArray = { "0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F"};
或者,正如@Alnitak所提到的,只需使用一个字符串,然后使用charAt函数:
String myString = "0123456789ABCDEF";
这样,如果余数为5,则得到5,如果余数为13,则得到C,等等。有许多可能的解决方案。我之所以把它包括进来是为了教学价值,不是因为我认为它比另一个答案更好。替换:
newNum = original%newBase + newNum;
与
有许多可能的解决办法。我之所以把它包括进来是为了教学价值,不是因为我认为它比另一个答案更好。替换:
newNum = original%newBase + newNum;
与
Integer.ToString,int有一个基数参数。转换为您选择的基数系统是一个步骤。决定用字母表来表示基数系统的数字是另一个步骤。@Mr.Polywhill我想这是不允许的。这好像是学校的作业。。。。基地1。。。什么?@user3189142哈哈,抓得好。Fixed.Integer.ToString,int有一个基数参数。转换为您选择的基数系统是一个步骤。决定用字母表来表示基数系统的数字是另一个步骤。@Mr.Polywhill我想这是不允许的。这好像是学校的作业。。。。基地1。。。什么?@user3189142哈哈,抓得好。修正了。或者只是一个字符串0123456789ABC。。。和.charAtnor只是一个字符串0123456789ABC。。。和.查拉特