The Ascii code serves as a numerical representation of characters such as letters, digits, and symbols. Consequently, both capital and small letters have their respective Ascii codes, which are of int type.
To gain further understanding of Ascii codes, you can refer to and study the Ascii table.
Another important concept to be aware of is casting. Casting involves converting one type to another, such as converting int to char or vice versa. However, it is important to note that not all types can be converted to one another. For example, it is impossible to convert a boolean type to an int type.
Solution 1:
I will provide you with hints on decoding, which is the inverse process of encoding.
To begin with, it is important to understand that computers can only comprehend a specific type of data known as
Ascii code
.
The ASCII code is a numerical representation of characters such as
b
,
&
,
A
, and others. Consequently, both capital and small letters have an
Ascii code
value, which is of type int.
Read and See Ascci table here
There is another topic that you should be familiar with, which is referred to as
Casting
.
Casting is the process of converting one type to another, such as converting an integer to a character or vice versa. However, it’s important to note that not all types can be converted to one another. For example, it is impossible to convert a boolean type to an integer.
Read about casting in Java
Let’s discuss Encoding and allow you to determine Decoding since it is the inverse of Encoding.
Hints about how encode

Defining the String as
String a = "a"
is unnecessary. 
In order to avoid repetition, the following text can be rephrased as follows:
Since you learn about Ascci codes which are numbers, you can for loop through 97 to 122 with casting to get small chars.
,
Example:
,
System.out.println("Asci code of small a is " + (int)'a' + " small a is " + (char)97);
,
output:
, and
Asci code of small a is 97 small a is a
.
Please note that you are converting characters to integers and then converting integers back to characters.

Since you are dealing with numbers, so you can do addition.
Example:
System.out.println("Three char after a is " + (char)(97+3));
Ouput:
there char after a is d
The ASCII code for the characters x, y, and z can be reduced by 23. For instance,
12023
represents the ASCII code for the character ‘a’.
Solution 2:
The entire set of instructions for encoding and decoding
import java.util.Scanner;
public class coder {
public static void main(String[] args) {
String[] qe = {"1 ","2 ","3 ","4 ","5 ","6 ","7 ","8 ","9 ","10 ","11 ","12 ","13 ",
"14 ","15 ","16 ","17 ","18 ","19 ","20 ","21 ","22 ","23 ","24 ","25 ","26 "};
String [] eq = {"a","b","c","d","e","f","g","h","i","j","k","l","m","n","o",
"p","q","r","s","t","u","v","w","x","y","z"};
Scanner in = new Scanner(System.in);
System.out.println("Please enter the text you wish to encode.");
String place = in.nextLine();
place = place.toLowerCase();
place = place.replace("a", qe[0]);
place = place.replace("b", qe[1]);
place = place.replace("c", qe[2]);
place = place.replace("d", qe[3]);
place = place.replace("e", qe[4]);
place = place.replace("f", qe[5]);
place = place.replace("g", qe[6]);
place = place.replace("h", qe[7]);
place = place.replace("i", qe[8]);
place = place.replace("j", qe[9]);
place = place.replace("k", qe[10]);
place = place.replace("l", qe[11]);
place = place.replace("m", qe[12]);
place = place.replace("n", qe[13]);
place = place.replace("o", qe[14]);
place = place.replace("p", qe[15]);
place = place.replace("q", qe[16]);
place = place.replace("r", qe[17]);
place = place.replace("s", qe[18]);
place = place.replace("t", qe[19]);
place = place.replace("u", qe[20]);
place = place.replace("v", qe[21]);
place = place.replace("w", qe[22]);
place = place.replace("x", qe[23]);
place = place.replace("y", qe[24]);
place = place.replace("z", qe[25]);
System.out.println(place);
place = place.replace("26 ", eq[25]);
place = place.replace("25 ", eq[24]);
place = place.replace("24 ", eq[23]);
place = place.replace("23 ", eq[22]);
place = place.replace("22 ", eq[21]);
place = place.replace("21 ", eq[20]);
place = place.replace("20 ", eq[19]);
place = place.replace("19 ", eq[18]);
place = place.replace("18 ", eq[17]);
place = place.replace("17 ", eq[16]);
place = place.replace("16 ", eq[15]);
place = place.replace("15 ", eq[14]);
place = place.replace("14 ", eq[13]);
place = place.replace("13 ", eq[12]);
place = place.replace("12 ", eq[11]);
place = place.replace("11 ", eq[10]);
place = place.replace("10 ", eq[9]);
place = place.replace("9 ", eq[8]);
place = place.replace("8 ", eq[7]);
place = place.replace("7 ", eq[6]);
place = place.replace("6 ", eq[5]);
place = place.replace("5 ", eq[4]);
place = place.replace("4 ", eq[3]);
place = place.replace("3 ", eq[2]);
place = place.replace("2 ", eq[1]);
place = place.replace("1 ", eq[0]);
System.out.println(place);
}
}