【问题标题】:CharacterSet to String and Int to Char castingCharacterSet 到 String 和 Int 到 Char 转换
【发布时间】:2012-03-11 00:55:30
【问题描述】:

Java 新手。尝试熟悉语法和整体语言结构。

我试图在 java 中模仿这个 php 函数,它只是将数字的所有实例转换为特定字符

        for($x=10;$x<=20;$x++){
            $string = str_replace($x, chr($x+55), $string);
        }

所以在 php 中,如果一个字符串是 1090412,它将被转换为类似 A904C 的东西。

我正在尝试通过使用 string.replace 在 java 中执行此操作,但我一生都无法弄清楚如何正确转换变量。我知道我可以通过将整数转换为 (char) 来将其转换为字符,但不确定从那里去哪里。这给了我一个期望字符集的编译错误。

    string=1090412;
    for (x = 10; x <= 35; x++) {
        string.replace( x, (char) (x + 55));
    } 

【问题讨论】:

    标签: java casting char int


    【解决方案1】:

    好吧,虽然不是最好的方法,但这里有一个可行的方法

    import java.lang.*;
    
    public class T {
      public static void main(String[] args) {
        String s = "1090412";
        for (int i = 10; i <= 20; i++) {
          s = s.replace(Integer.toString(i), "" + (char)(i + 55));
        }
        System.out.println(s);
      }
    }
    

    java.lang.String 对象上有一个替换方法。它采用两个 char 参数或两个 CharSequence 对象被重载。 "" + (char)(i + 55) 只是一种快速创建 CharSequence 的方法。

    【讨论】:

    • 为什么说这不是最好的方法?
    • 首先,s.replace 每次都会通过 for 循环从头到尾搜索整个字符串。
    猜你喜欢
    • 1970-01-01
    • 2020-04-05
    • 2023-03-08
    • 1970-01-01
    • 1970-01-01
    • 2012-10-20
    • 2014-12-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多