gpt4 book ai didi

java - 如何将 ASCII 值转换为字符串

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:48:39 25 4
gpt4 key购买 nike

我在这里遇到了一些代码,我想做的是将一个字符串转换成它的 ASCII 值,从中减去 30,然后再转换回一个字符串。

E.g. Enter -  hello
Convert to - 104 101 108 108 111
Subtract - 74 71 78 78 81
display - JGNNQ

代码:

import javax.swing.*;
public class practice {
public static void main (String[] args) {

String enc = "";
String encmsg = "";
String msg = JOptionPane.showInputDialog("Enter your message");
int len = msg.length();
for (int i = 0; i< len ; i++) {
char cur = msg.charAt(i);
int val = (int) cur;
val = val -32;
enc = "" + val;
encmsg = encmsg + enc;

}

JOptionPane.showMessageDialog(null, encmsg);


}
}

提前致谢

最佳答案

一些事情:

val = val -32; 更改为 val = val -30; 以在原始问题陈述中获得所需的正确减法。

接下来,改变

enc = ""+ val;enc = (char)val;

以便您可以将值转换为正确的字符。之前,您只是将它连接到一个字符串,不会进行任何转换。您还需要在文件顶部将 enc 声明为 char

完整的工作代码如下:

    char enc;
String encmsg = "";
String msg = JOptionPane.showInputDialog("Enter your message");
int len = msg.length();
for (int i = 0; i < len; i++) {
char cur = msg.charAt(i);
int val = (int) cur;
val = val - 30;
enc = (char) val;
encmsg = encmsg + enc;

}

JOptionPane.showMessageDialog(null, encmsg);

关于java - 如何将 ASCII 值转换为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19662899/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com