我应该用Java创建一个程序,它接受用户的大写字母,从ASCII代码中减去2并输出结果字母。线索是,我只应该输出A.的字母,意思是在Z之后,它从A再开始,什么是最好的方法?如果达到某个值,那么删除26的明显方法似乎是不合适的。
希望有人能帮我。提前感谢!
发布于 2014-10-28 23:05:28
Java中的Chars可以被视为数字,您可以对它们执行普通算术。'A‘的字节值等于65 (即在ASCII表中,大写A是第65 ASCII表,大写B是66等等)。我编写了一些简单的代码,并列出了所需的步骤:
letter = (letter - 65);
letter = (letter - 2);
if (letter < 0) letter = letter + 26;
letter = letter + 65;第一行减去ASCII表中'A‘的位置。这意味着'A‘变成0,'B’变成1,等等。下一行减去2,下面一行确保它“循环”回字母表的末尾,如果减法导致它变成负数。最后一行将65添加回字母,返回到ASCII表中的大写字母。
https://stackoverflow.com/questions/26618863
复制相似问题