私はおそらくプログラムを持っています
- 単語、語句、または文を入力するようにユーザーに促します。
- 次に、入力した内容を 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();
}
}