gpt4 book ai didi

java - 如何创建编码器?解码器?

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:26:02 32 4
gpt4 key购买 nike

总的来说,我对编程还很陌生,我想知道如何对输入的文本进行编码/解码。

对于 ex A -> D,所有字母必须减去 3 个字母B -> E等等

我将输入一些伪代码作为示例:

INPUT MESSAGE: "LORYHBRX"

Encoded Message:LORYHBRX

Decoded Message:ILOVEYOU

OUTPUT MESSAGE: "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);

}
}

我正在尝试将输入的内容转换为上面的变量。

我想我将所有这些字符串都声明为变量,但我不知道如何通过输入使它们可变。

最佳答案

我会给你一些提示,如何进行解码和编码只是相反的过程。

首先,你应该知道计算机只能理解称为Ascii code的数字。

Ascii 码 是字符的数字表示,如 b&A 等,如结果,大写字母和小写字母都有Ascii码,是int类型。

Read and See Ascci table here

另一个你应该知道的主题是Casting

转换 将一种类型转换为另一种类型,例如将 int 转换为 char,反之亦然,但您应该知道转换某些类型不能转换为另一种类型,例如将 boolean 类型转换为 int,这是不可能的。

Read about casting in Java

让我们谈谈编码并将解码留给您自己解决,因为它与编码相反。

关于如何编码的提示

  1. 不需要像String a = "a";这样定义String;
  2. 既然您了解了作为数字的 Ascci 代码,您可以通过强制转换从 97 到 122 进行循环以获得小字符。

    示例:

    System.out.println("Asci code of small a is " + (int)'a' + "\nsmall a is " + (char)97);

    输出:

    Asci code of small a is 97
    small a is a

注意:您将 char 转换为 int,并将 int 转换为 char。

  1. 既然你在处理数字,那么你可以做加法。

    例子:

    System.out.println("Three char after a is " +  (char)(97+3));

    输出:

    there char after a is d

对于字符 x、y 和 z,您可以从它们的 asci 代码中减去 23,例如 120-23 将给出 a 的 asci 代码。

关于java - 如何创建编码器?解码器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25780189/

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