2010-10-23 48 views
0

對於我的任務,我不得不創建一個ArrayStack,一個StackADT,現在我必須創建一個程序來接收一個字符串並將其反向輸出。ArrayStack中的push()等

現在這聽起來很簡單,但我不知道如何推入某些東西到數組中。我一直在使用googling這個狗屎,並找不到一個合理的答案。

具體而言,我無法鏈接主程序與實際數組,然後將輸入字符串鏈接到push()。

public class ReverseSentenceMain { 

public static void main (String[] args) 
    { 


AssignmentArrayStack stack = new AssignmentArrayStack(); 
//private AssignmentArrayStack<String> stack; 

public ReverseSentenceMain() 
{ 
    stack = new AssignmentArrayStack<Integer>(); 
} 

    String sentence; 
    String result = null; 
    String words; 
    stack = (T[])(new Object[initialCapacity]); 
    Scanner in = new Scanner(System.in); 
    System.out.println("Enter a sentence"); 


    } 
} 

我會很感激的任何幫助,並感謝您的時間

回答

0

您可以通過在掃描儀上調用next來開始掃描。

sentence = in.next(); 

然後,您對空白執行拆分,將句子分成您插入堆棧的令牌。掃描儀可以爲你做我想的分割。查看Scanner JavaDoc或String JavaDoc獲取更多信息。

0

你應該格式化代碼。按ctrl + K或使用小101010圖標。

反正。堆棧類應該有一個推送方法。你需要得到這個句子。您可以遍歷該句子,然後將這些字符推送到堆棧中。一旦你這樣做,那麼你可以彈出關閉的字符以相反的順序打印字符串。

loop through string 
    stack.push(string[i]) 
while(currChar = stack.pop()) 
    print currChar (or store to another variable) 

我相信會有效果。自從我在java中做了任何事情以來,一段時間了。

堆棧並不是一個真正的數組。它更像一個鏈表。它添加一個元素作爲鏈表中的第一個元素,然後更新指針。

NOTE:事實上繼承人一個體面的例子http://www.javacoffeebreak.com/faq/faq0037.html

,我只是注意到要扭轉這句話,不是的話,那麼做什麼willcodejavaforfood說,用掃描儀記號化它。我記得你可以做到這一點。它會讀取每個空白。你得到該令牌並將其添加到堆棧。不過,某種類型的概念。