2

split メソッドとStringTokenizer.

たとえば、How are youで印刷する必要がありますyou are How

やってみましたができませんでした。

どんな助けでも大歓迎です。

4

3 に答える 3

2

以下のコードスニペットを試してください

import java.util.ArrayList;
public class ReverseString
{
    public static void main(String args[])
    {
        String myName = "Here we go";
        ArrayList al = new ArrayList();
        al = recursiveReverseMethod(myName,al);
        al.trimToSize();
        StringBuilder sb = new StringBuilder();
        for(int i = al.size()-1; i>=0;i--)
        {
            sb.append(al.get(i)+" ");

        }
        System.out.println(sb);

    }
    public static ArrayList  recursiveReverseMethod(String myName,ArrayList al)
    {

        int index = myName.indexOf(" ");
        al.add(myName.substring(0, index));
        myName  = myName.substring(index+1);
        if(myName.indexOf(" ")==-1)
        {
            al.add(myName.substring(0));
            return al;
        }
        return recursiveReverseMethod(myName,al);

    }
}
于 2013-11-10T14:43:19.507 に答える
1

私はこれを行います:

public static String reverseWordsWithoutSplit(String sentence){
    if (sentence == null || sentence.isEmpty()) return sentence;
    int nextSpaceIndex = 0;
    int wordStartIndex = 0;
    int length = sentence.length();
    StringBuilder reversedSentence = new StringBuilder();
    while (nextSpaceIndex > -1){
        nextSpaceIndex = sentence.indexOf(' ', wordStartIndex);
        if (nextSpaceIndex > -1) reversedSentence.insert(0, sentence.substring(wordStartIndex, nextSpaceIndex)).insert(0, ' ');
        else reversedSentence.insert(0, sentence.subSequence(wordStartIndex, length));
        wordStartIndex = nextSpaceIndex + 1;
    }

    return reversedSentence.toString();
}
于 2013-11-10T15:26:02.660 に答える