gpt4 book ai didi

java - Rot 13 最小版本 Java

转载 作者:行者123 更新时间:2023-11-29 09:43:53 28 4
gpt4 key购买 nike

我尝试实现 Rot13 并使其尽可能小,这是我目前的结果:

    if ( (c >= 'A') && (c <= 'Z') ) 
c=((c-'A'+13)%26)+'A';

if ( (c >= 'a') && (c <= 'z') )
c=((c-'a'+13)%26)+'a';

return c;

我把这个给我的教授看了,他说可以分两行。我不知道如何进一步缩减这段代码而不产生错误的输出。

谢谢你的帮助

编辑:如果没有任何改变(外部范围 ascii),它应该只返回 c。也许解决方案是第二个答案 + 返回行 c 以防万一没有返回。

最佳答案

你不需要更新c;只需返回:

if ((c >= 'A') && (c <= 'Z')) {
return ((c - 'A' + 13) % 26) + 'A';
}

if ((c >= 'a') && (c <= 'z')) {
return ((c - 'a' + 13) % 26) + 'a';
}

我还使代码更具可读性。

这可以很容易地分成两行:

if ((c >= 'A') && (c <= 'Z')) return ((c - 'A' + 13) % 26) + 'A';
if ((c >= 'a') && (c <= 'z')) return ((c - 'a' + 13) % 26) + 'a';

或者一个:

if ((c >= 'A') && (c <= 'Z')) return ((c - 'A' + 13) % 26) + 'A'; if ((c >= 'a') && (c <= 'z')) return ((c - 'a' + 13) % 26) + 'a';

当然,这样的可读性要差得多,也不是一个好主意。

关于java - Rot 13 最小版本 Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20887572/

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