2015-11-18 109 views
-2

我对编码非常陌生,我试图解决以下问题:
使用堆栈来反转句子的单词。继续阅读单词,直到有一个单词以句号结尾,并将它们添加到堆栈中。当你有一段时间的单词时,将单词放开并打印出来。当输入中没有更多单词时停止。例如,你应该打开输入:
玛丽有一只小羊羔。它的羊毛像雪一样白。
纳入:
羔羊小玛丽。雪白如羊毛。
注意大小写和期间的位置。
在Java中反转字符串中的单词(NOT字符)

我正在努力寻找如何扭转这些词 - 我发现了很多扭转字符的例子,但我无法得到任何工作来扭转整个单词。这是我到目前为止。我不太了解String [] words = sentence.split(“”);但是我发现在很多解决方案中......是否创建了一组可以推入堆栈的单词?

​​3210


此输出只返回从句子的第一个字,所以我做错事的printStack方法。我希望我已经添加了足够的内容,告诉你我真的很努力。

+0

这个任务的重点是让你学习如何思考如何使用算法和逻辑来处理数据。 *我不知道从哪里开始*有点重要,你应该自己尝试**自己来形成自己的逻辑。 –

回答

0

我硬编码的字符串值。你也可以从用户那里获得输入

class StringRev{ 
    public static void main(String args[]){ 
    String str = "He is the one"; 
    String temp = ""; 
    String finalString = ""; 
     for(int i =str.length()-1;i>=0;i--){ 
      temp +=i!=0?str.charAt(i):str.charAt(i)+" "; 
      if(str.charAt(i) == ' '||i==0){ 
       for(int j=temp.length()-1;j>=0;j--){ 
        finalString += temp.charAt(j); 
       } 
       temp = ""; 
      } 
     } 
      System.out.println(finalString); 
    } 
} 
+0

这不使用堆栈,推,弹出。 – bacon