有没有已经是rot13()和unrot13()实现为标准Java库的一个组成部分?或者我是否必须自己编写并"重新发明轮子"?
它可能看起来像这样:
int rot13 ( int c ) {
if ( (c >= 'A') && (c <= 'Z') )
c=(((c-'A')+13)%26)+'A';
if ( (c >= 'a') && (c <= 'z') )
c=(((c-'a')+13)%26)+'a';
return c;
}
Run Code Online (Sandbox Code Playgroud)
geo*_*sey 24
不妨贡献我的功能,为其他开发人员节省宝贵的时间
public static String rot13(String input) {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < input.length(); i++) {
char c = input.charAt(i);
if (c >= 'a' && c <= 'm') c += 13;
else if (c >= 'A' && c <= 'M') c += 13;
else if (c >= 'n' && c <= 'z') c -= 13;
else if (c >= 'N' && c <= 'Z') c -= 13;
sb.append(c);
}
return sb.toString();
}
Run Code Online (Sandbox Code Playgroud)
Chr*_*son 19
我不认为它默认是Java的一部分,但这里有一个如何实现它的例子;
public class Rot13 {
public static void main(String[] args) {
String s = args[0];
for (int i = 0; i < s.length(); i++) {
char c = s.charAt(i);
if (c >= 'a' && c <= 'm') c += 13;
else if (c >= 'A' && c <= 'M') c += 13;
else if (c >= 'n' && c <= 'z') c -= 13;
else if (c >= 'N' && c <= 'Z') c -= 13;
System.out.print(c);
}
System.out.println();
}
}
Run Code Online (Sandbox Code Playgroud)
资料来源:http://introcs.cs.princeton.edu/java/31datatype/Rot13.java.html
| 归档时间: |
|
| 查看次数: |
21446 次 |
| 最近记录: |