31 lines
857 B
Java
31 lines
857 B
Java
String rot13(String text) {
|
|
var result = new StringBuilder();
|
|
|
|
for (var character : text.toCharArray()) {
|
|
if (character >= 'a' && character <= 'z')
|
|
character = (char) ('a' + (character - 'a' + 13) % 26);
|
|
else if (character >= 'A' && character <= 'Z')
|
|
character = (char) ('A' + (character - 'A' + 13) % 26);
|
|
|
|
result.append(character);
|
|
}
|
|
|
|
return result.toString();
|
|
}
|
|
|
|
void main() throws Exception {
|
|
FileMessageBoard.watch("rot13/inbox", message -> {
|
|
if (!message.type().equals("TEXT"))
|
|
return;
|
|
|
|
try {
|
|
FileMessageBoard.publish(
|
|
"rot13/outbox",
|
|
new Message("TEXT", rot13(message.value()))
|
|
);
|
|
} catch (IOException exception) {
|
|
throw new UncheckedIOException(exception);
|
|
}
|
|
});
|
|
}
|