2016-12-29 13 views
-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"를 추가하고 모음의 끝에 ""을 추가하는 것입니다. 이것은 어린 시절의 대화 방식으로 코드에서 영감을 얻었습니다. 그래서 당신과 친구 만 다른 사람이 말하는 것을 알았습니다. 어떤 도움을 주시면 감사하겠습니다. 고마워요!자바 암호화 프로젝트 (java.lang.StringIndexOutOfBoundsException)

+1

게시 된 코드가 어디에서나 작동한다고 생각하지 않습니다. 잠시 시간을내어 수행하려는 작업의 논리를 고려하고 이에 따라 루프를 수정하십시오. 'break' 문과'continue' 문을 다루는 튜토리얼을 읽는 것이 좋습니다. –

+0

세 번째 for 루프에서 'uncoded.charAt (i) == ss.charAt (iii)'대신'uncoded.charAt (i) == ss.charAt (ii) '를 비교합니다. 또한 루프는 중첩되어서는 안됩니다. 충고의 말씀; 고유 한 문자를 루프 변수로 사용하십시오. – Jyr

답변

0

코딩되지 않은 문자열의 문자가 모음인지 또는 자음인지를 확인하기 위해 여러 번 반복 할 필요가 없습니다.

나는 String.indexOf 방법을 사용하여 프로그램을 단순화했습니다. 코드화되지 않은 문자열의 문자가 vowels 문자열 또는 consonants 문자열에 있는지 확인하기 만하면됩니다.

는 여기있다 :이 도움이

import java.util.Scanner; 

public class Oppish_Coder2 { 

    public static void main(String[] args) { 
     String consonants = "bcdfghjklmnpqrstvwxz"; 
     String vowels = "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++) { 
      char c = uncoded.charAt(i); 
      if (consonants.indexOf(c)>-1) { 
       System.out.print(c + "op "); 
      } else if (vowels.indexOf(c)>-1) { 
       System.out.print(c + " "); 
      } 
     } 
     sc.close(); 
    } 
} 

희망!