私はスクリプトを作成しようとしていますが、それはプレーンテキストを暗号化しています。私は文字の範囲をインクリメントする可変オフセットを持っています。メソッドの暗号化は、文字列がそのままであれば文字列を通り、オフセットが示すようにすべての大文字をインクリメントします。 これまでのところすべて問題ありません。しかし、私は両方の値をメソッドの暗号化に渡すことに苦労します。インスタンスを作成してintをコンストラクタに簡単に渡すことはできますが、このメソッドでは機能しません。Javaのメソッドに文字列を渡す
public class Caesar {
int offset;
public int kryptograph(int offset){
return this.offset=offset;
}
public String encrypt(String klartext) {
int wl = klartext.length()-1;
String text = null;
for(int i = wl; i >= 0; i++){
if (Character.isUpperCase(klartext.charAt(i))){
text += klartext.charAt(i)+kryptograph(offset);
}
else {
text += klartext.charAt(i);
}
}
return text;
}
/*public String decrypt(String text2) {
;
}*/
public static void main(String[] args) {
Caesar o = new Caesar();
o.kryptograph(7);
Caesar k = new Caesar();
k.encrypt("TEST");
}
}
他のチュートリアルを参照しましたが、私のように見える解決策が見つかりませんでした。だからそこで比較することはあまりありません。
編集:
これは私が取得例外です:
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 4
at java.lang.String.charAt(String.java:658)
at javaapplication25.Caesar.encrypt(Caesar.java:16)
at javaapplication25.Caesar.main(Caesar.java:35)
C:\Users\Kendel\AppData\Local\NetBeans\Cache\8.1\executor-snippets\run.xml:53: Java returned: 1
BUILD FAILED (total time: 0 seconds)
あなたの問題は何ですか?コードをコンパイル/実行しようとするとどうなりますか? – UnholySheep
'k.encrypt(" TEST ");'は正しいです....問題は何ですか? –
私はその質問を理解していません。 – Gendarme