我正在从基础开始学习java,我设定的最初目标是自己构建一个基础转换器,但我对此迷失了:
何时执行:numero=numero+(mult*c)
最初 numero 为 0
,c
为 4
code> 和 mult
是 1
,然后下一个数字变成 52
而不是 4
,也许我正在混合字符串和整数?
public class nintodec {
public static void main(String[] args) {
int number;
System.out.println("enter base nine number");
number = 1234;
int num = number;
String cadena = "";
int numero = 0;
cadena = String.valueOf(num);
cadena = Integer.toString(num);
String reverse = new StringBuffer(cadena).reverse().toString();
int mult = 1;
for (int i = 0; i < reverse.length(); i++) {
char c = reverse.charAt(i);
System.out.println(" c:" + c + " mult:" + mult);
numero = numero + (mult * c);
System.out.println(" numero" + numero);
mult = mult * 9;
}
System.out.println(numero);
//when its gonna do: `numero=numero+(mult*c)` initially numero is 0, c is 4 and mult is 1 and then next numero becomes 52 instead of 4
请问有什么帮助吗?
最佳答案
祝你学习 Java 顺利,坚持下去!
无论如何,这里的问题是 c
不是 4
而是 '4'
,一个值为 52 的 ASCII 字符。您需要将其转换为一个整数。
另外,你真的不需要字符串来解决这个问题,尝试使用模运算,它会干净得多。
关于java - 从基数 9 更改为基数 10,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31681365/