gpt4 book ai didi

java - 打印字符时出现未知问号

转载 作者:行者123 更新时间:2023-12-02 07:35:35 25 4
gpt4 key购买 nike

对于一个类(class)项目,我正在生成一个类似 ROT13 的加密方法,我们的唯一区别是不是第 13 个字符,而是第 9 个字符。令人惊讶的是,我能够生成一些适用于小写字母的东西,看看我的方法是否有效。

它可以工作,但由于某种原因,会出现奇怪的字符,更常见的是问号,有时只是原始字符数组中没有的额外字符。

例如:我的名字结果为 ljb|nh?|? 不应该在那里,至少据我所知,它们不应该在那里。

谁能通过查看我的代码告诉我为什么会发生这种情况?

public class Encrypt {
public static void main(String[] args) {
// Lower a-z: 97-122; Higher A-Z: 65-90
jumble("casey");
}
public static void jumble(String input) {
char[] phraseChar = input.toCharArray();
// StringBuilder output = new StringBuilder("");

for (int i = 0; i < phraseChar.length; i++) {
System.out.print("" + phraseChar[i]);
}

System.out.println();

for (int j = 0; j < phraseChar.length; j++) {
int i = (int) phraseChar[j];
if (i >= 'a' && i <= 'z') {
i += 9;
if (i > 'z') {
int newChar = 96 + (i - 'z');
System.out.print((char) newChar);
}
System.out.print((char) i);
}
}
}
}

任何能帮我找出这个问题的人都是圣人。

最佳答案

if (i >= 'a' && i <= 'z') { 
i += 9;
if (i > 'z') {
int newChar = 96 + (i - 'z');
System.out.print((char) newChar);
}
System.out.print((char) i);
}

如果i超出范围,您将打印“更正”的字符和原始的越界字符。添加其他

我不是圣人。使用调试器来完成这些事情。这些知识将来会派上用场。

关于java - 打印字符时出现未知问号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12288970/

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