繁体   English   中英

Char 到 Int,将 int 值改回 char,并添加到字符串

[英]Char to Int, change int value, back to char, and add to a string

我觉得我非常接近解决这个问题。 提供一个字符串,我想将字符串从字符串转换为 int,将另一个方法 ( getKey ) 的值添加到该数字,如果结果大于 26,则减去 26。然后,将此新int转换为其char ,最后将该char放在string的末尾。 截至目前,它只是返回减去空格的输入,这是一半,哈哈。 有趣的是,替换

msg.replace(msg.charAt(i), btc);   // from the bottom

msg += btc;

启动无限循环。 任何建议将不胜感激!

    String msg = "";
    int key;
    int cnum;
    for(int i = 0; i< message.length();i++){
        if(Character.isLetter(message.charAt(i))){
            msg += (message.charAt(i));
        }
    }



    for(int i = 0; i< msg.length(); i++){  

        char ch = msg.charAt(i);
        key = getKey();

            cnum = (int)ch + key;
            if(cnum > 26){
                cnum -= 26;
            }

        char btc = (char)cnum;
        msg.replace(msg.charAt(i), btc);
    }

return msg;

替换msg.replace(msg.charAt(i), btc); with msg = msg.replace(msg.charAt(i), btc);

你的问题是在线

msg.replace(msg.charAt(i), btc);

由于 String 是不可变的,因此 String.replace() 将返回一个新字符串而不是修改现有的 String。

我建议您使用 StringBuilder(),附加替换的字符或附加现有的字符。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM