我有一个程序,据说
- 提示用户输入单词、短语或句子。
- 然后我应该“加密”你输入的内容 13 次,每次都打印。最后打印的内容应与用户输入相匹配。
- 我只能加密字母字符。其他任何事情都保持不变。
- 通过查找每个字符的 ASCII 值然后将其增加 2 来“加密”。如果字母改变大小写,使其从小写的 a 或大写的 A 重新开始。
我的代码现在只给了我 1 个加密并在 2 处停止。它也只适用于第一个字母。我的班级还没有学习数组,但如果我们愿意,我们可以试试。
import java.util.Scanner;
public class Encrypt{
Scanner keyboard = new Scanner(System.in);
String message = new String();
String g = new String();
char y;
public void input(){
System.out.printf("Welcome to Encrypt.java. Please enter a word,phrase, or sentence. \n");
System.out.println();
System.out.print("-> ");
message = keyboard.nextLine();
}
public void code(){
int x = message.length()-1;
boolean enter = true;
for(int i = 0; i <= x; i++){
int j = message.charAt(i);
if((j >= 32 && j <=64) ||
(j >= 91 && j <=96) ||
(j >= 123 && j <= 127)){
}
else if((j >= 65 && j <= 90)){
j = j + 2;
if(j>90){
j = (j-90)+64;
}
}
else if(j>=97 && j <= 122){
j = j + 2;
if(j>122){
j = (j-122) + 96;
}
}
if(enter == true){
System.out.println();
System.out.print(" ");
enter = false;
}
y = (char)(j);
g = g + y;
message = g;
x = message.length()-1;
}
System.out.print(g);
System.out.println();
}
public void print(){
for(int i = 1; i <= 13; i ++){
System.out.println("Encryption " + i + ":");
this.code();
}
}
public static void main(String [] args){
Encrypt e = new Encrypt();
e.input();
e.print();
}
}