2016-11-20 6 views
1

私は単語をスクランブルする必要があるプログラムを書いています。最初に、私は逆に.reverseを使って単語を読みました。文字列をcharArrayに変換しました。最初の文字が "A"であるかどうかを調べるためのforループを作成すると仮定しています。次の文字が "A"でないかどうかを確認する必要があります。もしそうでなければ、私は2つの文字を入れ替えることになっています。 2つの文字のいずれかが、スワップされたものよりもスワップされたものである場合、それらは再びスワップできません。 「TAN」出力:「ATN」 入力:「ALACTRIC」出力:「AALCTRIC」 入力:「フォーク」出力:ここでは「フォーク」Javaの未知の文字列の2文字を交換する

は私のコードは、これまでのところです:私はできません いくつかの例としては、 入力され、 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を取るのはなぜですか?私はそれをパラメータとして削除するか、メソッドの外側の文字列を読み込みます(これは、あなたのメソッドがスキャナで読み取られるのではなく、任意の文字列で動作するようにするためです)。 – 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を='、 '=フォークフォーク' になります。

関連する問題