我正在从基础开始学习Java,并设立了自己的初始目标来构建一个进制转换器,但现在我遇到了困难:
当它执行以下操作时:
当它执行以下操作时:
numero=numero+(mult*c)
初始值numero
为0
,c
为4
,mult
为1
,然后下一个numero
变为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
有需要帮忙的吗?