サブトピックの要件を最初に見てください。同様のアイデアはおそらく次のようになります。
まず、データの順序を逆にして、各桁に5を加算し、合計の残りを10で割って数値を表し、最後に最初と最後の桁を交換します。8桁未満の整数を指定してください。次に、暗号化された結果をコンソールに出力します
アイデア:ユーザーが暗号化する数値の文字列を入力し、nextLine()メソッドを使用して数値の文字列タイプを取得し、それを配列に変換して(split( "")を直接使用)、直接操作して使用できるようにします。配列順序を逆にしてから交換します。
コードはコメントなしで怠惰です、それはそれを扱い、やって来てそれを学ぶために一生懸命働く非常に簡単な方法です!!!
おおよそのコードは次のとおりです。
public class SETest {
public static void main(String[] args) {
SETest seTest = new SETest();
System.out.println("请输入一个小于8位的整数,然后会将整数加密后输出");
Scanner sc = (new Scanner(System.in));
String number = sc.nextLine();
int[] array1 = seTest.intArray(number);
int[] password = seTest.addPassword(array1);
System.out.println("加密后的结果为: ");
for (int i : password) {
System.out.print(i);
}
}
public int[] intArray(String a) {
String[] split = a.split("");
int[] aa = new int[split.length];
int num = 0;
for (int i = split.length-1; i >= 0; i--) {
aa[num] = Integer.parseInt(split[i]);
num++;
}
return aa;
}
public int[] addPassword(int[] a) {
for (int i = 0; i < a.length; i++) {
a[i] = (a[i]+5)%10;
}
int temp = a[0];
a[0] = a[a.length-1];
a[a.length-1] = temp;
return a;
}
}
あなたは再び最後に向きを変えましたね