-2

これを機能させるのに問題があります。正しい方向に向ける必要があります。ユーザーはコマンドライン整数を入力して、文字が回転する場所の数を決定します。私の問題は、すべての小文字と大文字を同じ大文字のままにし、スペースと特殊文字はそのままにして、指定された整数だけ文字を回転させたいということです。たとえば、整数セットが1であり、暗号化する文字列に文字「Z」が入力されていることを確認する必要があります。次のASCII文字「[」Iに移動する代わりに、「A」に折り返す必要があります。 「%」演算子を使用しようとしていますが、間違って使用している可能性があります。私は自分のためにコード全体を書く人を探していません。動作しているプログラムのソースコードを見ると答えが見つかることはわかっていますが、これを自分で理解しようとしていますが、今は困惑しています。少し助けが必要です。ありがとう!

私はついにそれを動作させることができました私は全体の操作が間違っていましたこれは私のために働いたものです。

char encrypt = ('A' + ( ( (input[i] - 'A') + key ) % 26));

試す前に

char encrypt (input[i] + key) % 26;

迅速な回答をありがとう!

4

1 に答える 1

0

あなたが望むことを達成するための多くの方法がありますが、私はあなたが調べることをお勧めしますjava.util.Map。これが暗号化Mapか復号化かを決定し、入力文字をキーとして、出力文字を値としてMap「配置」します。次に、翻訳する必要がある場合は、翻訳する各文字をウォークスルーして、出力値を組み立てるだけです。マップされていない値に注意してください(ルックアップ時にnullを返すため)。

于 2012-10-17T04:45:56.763 に答える