gpt4 book ai didi

java - Captain crunch - ROT13编码器程序

转载 作者:搜寻专家 更新时间:2023-11-01 03:38:46 26 4
gpt4 key购买 nike

Captain Crunch 解码环的工作原理是将字符串中的每个字母加 13。例如,“a”变为“n”,“b”变为“o”。字母在末尾“环绕”,所以“z”变成了“m”。

这是我根据人们的评论对它进行了一些编辑后得到的,但现在它一直告诉我输出可能尚未初始化,我不知道为什么......还有什么我需要修复的在我的程序中?

在这种情况下,我只关心编码小写字符

import java.util.Scanner;

public class captainCrunch {
public static void main (String[] Args) {

Scanner sc= new Scanner(System.in);
String input;

System.out.print("getting input");
System.out.println("please enter word: ");
input= sc.next();

System.out.print(" ");
System.out.print("posting output");
System.out.print("encoding" + input + " results in: " + encode(input));
}//end of main


public static String encode(String input){

System.out.print(input.length());
int length= input.length();
int index;
String output;
char c;
String temp= " ";

for (index = 0; index < length; index++) {

c = input.charAt(index);
if (c >= 'a' && c <= 'm') c += 13;
else if (c >= 'n' && c <= 'z') c -= 13;
output= temp + (char)(c);
}
return output;
}

}

最佳答案

这叫做ROT13编码。

http://en.wikipedia.org/wiki/ROT13

要修复您的算法,您只需要:

public static String encodeString (String input) {
StringBuilder output = new StringBuilder();

for (int i=0;i<input.length;i++) {
char c = input.charAt(i)
output.append(c+13); // Note you will need your code to wrap the value around here
}

return output.toString();
}

我还没有实现“包装”,因为它取决于您需要支持的情况(上限或下限)等。基本上您需要做的就是查看 c 的范围,然后加上或减去 13取决于它在 ASCII 字符集中的位置。

关于java - Captain crunch - ROT13编码器程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20702304/

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