【问题标题】:Reversing the words in a sentence string [duplicate]反转句子字符串中的单词[重复]
【发布时间】:2014-02-13 03:42:35
【问题描述】:

所以我试图将句子中的单词颠倒过来,例如:“Hi dog cat”,会变成“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;
    }   
}

【问题讨论】:

  • 单字符串或字符。或者实现一个非对象堆栈并使用字符。选择一个。
  • 您好,如果您向右看 (===>),相关链接会显示几个类似的问题。如果您花 10 秒时间在 SO 上进行搜索,您会发现类似的问题已经得到解答。请阅读help centerHow to Ask

标签: java string stack


【解决方案1】:

仅供参考,在 Java 中,通常使用小写首字母命名方法和变量,例如“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();
}

希望对你有帮助,

--标记

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-13
    • 1970-01-01
    • 2012-07-17
    • 2015-12-13
    • 1970-01-01
    相关资源
    最近更新 更多