-1
import java.util.Scanner;
public class Oppish_Coder2 {
public static void main(String[] args) {
String s = "bcdfghjklmnpqrstvwxz";
String ss = "aeiouy";
System.out.println("Enter line to encrypt: ");
Scanner sc = new Scanner (System.in);
String uncoded = sc.next();
System.out.println("Encrypted line: ");
for (int i = 0; i < uncoded.length(); i++){
for (int ii = 0; ii < s.length(); ii++){
if (uncoded.charAt(i) == s.charAt(ii)){
System.out.print(uncoded.charAt(i) + "op ");
}
else {
for (int iii = 0; iii < ss.length(); iii++){
if (uncoded.charAt(i) == ss.charAt(ii)){
System.out.print(uncoded.charAt(i) + " ");
}
}
}
}
}
sc.close();
}
}
私は上の楽しみのために、このプロジェクトに取り組んとオフが、最近、私はそれが動作するように得るために非常に近いんだかのようしかし、エラーがされていると感じてきましたスローされ、私はそれを修正する方法についてはよく分かりません。コードの目的は、任意の子音の末尾に "op"を、母音の最後に "op"を追加することです。これはコードでの小児期の話し方に触発されたので、あなたと友人だけが他の人が何を言っているかを知っていました。どんな助けでも大歓迎です、ありがとう!のJava暗号化プロジェクト(java.lang.StringIndexOutOfBoundsException)
あなたのコードは、掲載されているように、どこにいても動作しているとは思いません。あなたがやろうとしていることの論理を考えて、それに応じてループを修正するには、しばらく時間をかけてください。 'break'文と' continue'文を扱うチュートリアルを読むことをお勧めします。 –
3回目のforループで、 'uncoded.charAt(i)== ss.charAt(iii)'の代わりに 'uncoded.charAt(i)== ss.charAt(ii)'を比較しています。さらに、そのループはネストしてはいけません。アドバイスの言葉;別の文字をループ変数として使用します。 – Jyr