【发布时间】:2020-06-09 20:22:58
【问题描述】:
总的来说,我对编程还很陌生,我想知道如何对输入的文本进行编码/解码。
前 A -> D 的所有字母必须减少 3 个字母 B -> E 等等
我会放一些伪代码作为例子:
输入消息:“LORYHBRX”
编码消息:LORYHBRX
解码消息:ILOVEYOU
输出消息:“我爱你”
请帮忙。
目前为止
import java.util.*;
public class Encoder {
public static void main(String[] args)
{
String a = "d";
String b = "e";
String c = "f";
String d = "g";
String e = "h";
String f = "i";
String g = "j";
String h = "k";
String i = "l";
String j = "m";
String k = "n";
String l = "o";
String m = "p";
String n = "q";
String o = "r";
String p = "s";
String q = "t";
String r = "u";
String s = "v";
String t = "w";
String u = "x";
String v = "y";
String w = "z";
String x = "a";
String y = "b";
String z = "c";
Scanner in = new Scanner(System.in);
System.out.println("Please enter the text you wish to encode.");
String place = in.nextLine();
System.out.println(place);
}
}
我正在尝试将输入的内容转换为上面的变量。
我想我将所有这些字符串声明为变量,但我不知道如何使它们可以通过输入进行更改。
【问题讨论】:
-
从写代码开始。并在遇到特定代码问题时发布问题。这是这里唯一的解决方案。
-
我很抱歉。我把我的代码放进去。
-
呃!将目标字母存储为
String a = "d"对您没有帮助,因为您无法将字符串中的字母转换为变量名。您需要了解数组和其他容器类。对于手头的任务,编写一个将源字母转换为目标字母的函数。您可以利用 26 个字母在 ASCII 中形成一个连续块这一事实。 -
顺便说一句,您想要的代码称为凯撒密码。搜索那个和 SO 上的 Java 标记应该会给你关于如何攻击这个的提示。
-
@StevenJobs loryhbrx 不可能给你 iloveyou,但 iloveyou 给你 loryhbrx。如果是这样,请告诉我,以便我发布我的答案:)
标签: java eclipse algorithm encoding decoding