Java 如何将字符串中的每个字符更改为新字符?

Java 如何将字符串中的每个字符更改为新字符?,java,Java,例如字母“a”。我希望通过输入数字值将其转换为新字母,它必须向前循环字母表,而不是向后循环字母表。输入=3,则字母“a”变为“d”。输入的值必须应用于字符串中的所有字符。你们能帮帮我吗?键盘上的每个字符都有一个ASCII码(意思是,一个与该字符相关的整数)。所以,如果你想完成你的任务,你应该从开始。使用int类型,然后通过强制转换将其转换为char类型 如果您有一个字符串类型,那么它非常简单,例如创建一个字符数组,在其中存放字符串的每个字符,然后将每个转换后的字符合并为一个新的字符串类型。您必须

例如字母“a”。我希望通过输入数字值将其转换为新字母,它必须向前循环字母表,而不是向后循环字母表。输入=3,则字母“a”变为“d”。输入的值必须应用于字符串中的所有字符。你们能帮帮我吗?

键盘上的每个字符都有一个ASCII码(意思是,一个与该字符相关的整数)。所以,如果你想完成你的任务,你应该从开始。使用
int
类型,然后通过强制转换将其转换为
char
类型


如果您有一个
字符串
类型,那么它非常简单,例如创建一个
字符数组
,在其中存放字符串的每个字符,然后将每个转换后的字符合并为一个新的
字符串
类型。

您必须付出一些努力。编辑您的帖子并添加一些您编写的代码。因此,这不是一个代码编写服务。我投票将这个问题作为离题来结束,因为它要求家庭作业帮助,但不包括迄今为止为解决问题所做工作的总结,Java
字符串是Unicode/UTF-16编码单元的计数序列:不涉及ASCII。(我的键盘向计算机发送扫描码,而不是字符码。虽然我键盘上的所有字符键都可以用ASCII字符集表示,但并非所有键盘都是如此,非字符键也肯定不是如此。在键盘上,欧元是很常见的。)你完全正确@TomBlodget,我没有想到这一点。但现在我有一个问题:如果你想通过OP要求的输入值来表示€(例如),你会怎么做?有可能吗?问题是关于从某个序列中的字母到同一序列的映射(偏移量,可能是环绕的)。如果问题空间仅限于基本拉丁字母,那么在考虑了大写和小写之后,模运算就可以工作了。更广义的映射可以使用并行数组(或字符串),因为如果要用算术来处理字符,则必须添加一些与问题空间相关的数据,这不是UTF-16的固有特征。非常感谢@TomBlodget!!:)