2016-11-20 3 views
1

나는 단어를 스크램블해야만하는 프로그램을 작성하고있다. 먼저 나는 .reverse를 사용하여 단어를 거꾸로 읽었다. 그런 다음 문자열을 charArray로 바꿨습니다. 첫 번째 문자가 "A"이고 다음 문자가 "A"가 아닌지 알아야 할 경우 for 루프를 작성한다고 가정합니다. 그 다음에 두 글자를 바꿔야한다고 생각한다면. 두 글자 중 하나에 a가 있으면 다시 바꿀 수없는 것보다 다시 바꿀 수 있습니다. 입력 "ATN": "ALACTRIC"출력 : "AALCTRIC는" 입력 : "포크"출력 : "포크"여기 알 수없는 문자열에있는 두 글자를 자바로 바꾸기

지금까지 내 코드입니다 : "TAN"출력 : 몇 가지 예는 입력 내가 할 수 없습니다 for 루프에 넣을 내용을 찾아냅니다. 고맙습니다!

import java.util.Scanner; 

public class scrambleWordRetry { 
    public static void main(String[] args) 
     { 
     } 
    public static String scramble(Random random, String inputString) 
    { 
     Scanner scan = new Scanner(System.in); 
     System.out.println("Please enter a word to scramble."); 
     inputString = scan.nextLine(); 

     char a[] = inputString.toCharArray(); 

     for(int i=0 ; i<a.length-1 ; i++) 
      { 

      } 
     return inputString;  
    } 
} 
+0

main 메소드에서'scramble()'을 호출하지 않으므로 코드는 아무 것도하지 않고 있습니다. – JohnnyAW

+0

많은 질문은 당신이해야 할 일에 대한 훌륭한 의사 코드이지만, 실제로 모든 것을 실제로 구현하려는 시도는 보이지 않았습니다. 또한 한 쪽 메모 : 왜 즉시 값을 할당 할 때 매개 변수로 inputString을 사용합니다. 매개 변수로 제거하거나 메서드 외부의 String을 읽습니다. (이 방법을 사용하면 스캐너를 통해 읽은 문자열이 아니라 문자열을 사용할 수 있으므로 메서드를 사용할 수 있습니다.) – chatton

+0

숙제 프로젝트가 있습니까? – brummfondel

답변

0

이 코드는 다음

Scanner x = new Scanner(System.in); 
    String str = x.next(); 
    System.out.println("Before Swapping" + str); 
    str = scramble(str); 
    System.out.println("After Swapping " + str); 
} 

public static String scramble(String inputString) { 
    char s[] = inputString.toCharArray(); 
    for (int i = 1; i < s.length; i++) { 

     if (s[i] == 'A' || s[i] == 'a') { 
      char temp = s[i - 1]; 
      s[i - 1] = s[i]; 
      s[i] = temp; 

     } 
    } 
    return new String(s); 
} 

에 유용 희망 만약 당신이 입력 'ALACTRIC'출력 'AALCTRIC', '탄이 ATN을 =' '= 포크 포크'될 것 .

관련 문제