翻转句子字符串中的单词

时间:2014-02-13 03:42:35

标签: java string stack

所以我试图扭转一句话中的词语:“嗨狗猫”,将成为“iH god tac”。我想知道我是否可以使用我正在做的事来实现这一目标。我可以让句子本身反转,但我不能单独说出这样的话。有没有办法用字符串做这个或者我必须弄乱字符(这也很混乱)?任何帮助表示赞赏

    private static String PrintStack(String sentence)
    {
        String reverse = "";
        String stringReversed = "";
        String Last;
        String First;

        Stack<String> stack= new Stack<String>();

        String words[] = sentence.split(" ");
        Last = words[words.length-1];

        for(int j = 0; j < words.length; j++)
        {
            String newWord = words[0+j];
            stack.push(newWord);
            System.out.println(stack);
        }

        while(!stack.isEmpty())
        {
            stringReversed += stack.pop();
        }

        System.out.println("Reverse is: " + stringReversed);


        return reverse;
    }   
}

1 个答案:

答案 0 :(得分:0)

在Java中的FYI通常用小写的第一个字母命名方法和变量,例如“printStack()。

您的算法不会反转单词本身。我会这样做:

private static String reverseWords(String sentence) {
    String words[] = sentence.split(" ");
    ArrayList<String> reversed = new ArrayList<String>();
    for (String word : words) {
        reversed.add(new StringBuilder(word).reverse().toString());
    }
    StringBuilder reversedSentence = new StringBuilder();
    for (String word : reversed) {
        reversedSentence.append(word);
        reversedSentence.append(" ");
    }
    return reversedSentence.toString().trim();
}

希望这有帮助,

- 标记