java - Java中如何将整数转换为字符? (5 --> '5' )

标签 java stringbuffer

  String word = "ABCD";
        StringBuffer str = new StringBuffer (word);
        int counter = 0;
        for (int ch = 0; ch < word.length(); ch ++)
        {
            int number = word.charAt(ch)- 'A' + 1;
            str.setCharAt(counter, (char) number);
            if (ch != word.length ()-1)
                str.insert(counter +1, '-');
            counter += 2;

        }
        System.out.println (str);

    }

我希望我的输出是 1-2-3-4,所以 A = 1 且 B= 2.... 等等。我们可以假设所有输入都是大写的。但我的代码产生随机符号。那么如何修复代码以生成 1-2-3-4 而无需重新编写整个代码呢?

最佳答案

您只是缺少从 int 到 char 的转换。线路

str.setCharAt(counter, (char) number);

应该是

str.setCharAt(counter, (char) ('0' + number));

关于java - Java中如何将整数转换为字符? (5 --> '5' ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21948341/

相关文章:

java - 我如何找出 java.io.File.mkdir() 返回 false 的原因

java - 将多行 JTextArea 写入 txt 文件

java - 将子字符串替换为 StringBuffer 子字符串

java - 在给定特定开始和结束位置的情况下构建 String 的好方法是什么?

Java 使用样本创建波形

java - Stream<Object> 而不是 Stream<?在列表上调用时生成的 extends T>

java - 如何在 java 中打印类似字典的 StringBuffer 的值?

java - 在字符串中添加字符

java - 错误 : variable might already have been assigned. 为什么使用 "might"这个词?

java - 将 Spark Streaming 输出写入 HDFS 时跳过数据