java - 从基数 9 更改为基数 10

标签 java radix

我正在从基础开始学习java,我设定的最初目标是自己构建一个基础转换器,但我对此迷失了:

何时执行:numero=numero+(mult*c) 最初 numero 为 0c4 code> 和 mult1,然后下一个数字变成 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/

相关文章:

Java:多态性是否只适用于具有相同签名的方法?

assembly - "fh"后缀对于 Intel 汇编中的 "38fh"这样的数字意味着什么

c++ - 继承时预期结果不起作用?

java beans相互干扰

string - 对任意长度的二进制字符串进行基数排序

sas - 如何限制 SAS 中的月份数

java - 如何在基类上创建调用其他方法的java方法?

java - Hibernate 急切地加载惰性引用

java - 如何在Apache Pulsar中集群切换而没有重复数据

Java : com. google.protobuf 不存在