如何用Java打印arrayList,打印“;后进先出“;

如何用Java打印arrayList,打印“;后进先出“;,java,arraylist,Java,Arraylist,这就是我的问题: 作业是编写一个程序,接收n个字符串,即单词或句子,然后通过“后进先出”方法打印出字符串,并计算该句子中的单词。这是到目前为止我的代码,但是如何打印最后的x输入 import static javax.swing.JOptionPane.*; import java.util.ArrayList; public class Moment2 { public static void main (String [] args) {

这就是我的问题:

作业是编写一个程序,接收n个字符串,即单词或句子,然后通过“后进先出”方法打印出字符串,并计算该句子中的单词。这是到目前为止我的代码,但是如何打印最后的x输入

import static javax.swing.JOptionPane.*;

import java.util.ArrayList;

    public class Moment2
    {
        public static void main (String [] args)
        {
            String indata;
            int count;
            indata = showInputDialog("Hur många strängar ska räknas?");
            count = Integer.parseInt(indata);
        StringHandlerY lastword = null;

        while (true) {
            ArrayList<String> mening = new ArrayList<String>();
            String ord = showInputDialog("Skriv ett ord eller en mening. Annars, tryck 'Cancel'. ");
              if (ord == null) {
                break;
              }
              else {
                //count ++;
                mening.add(ord);
                lastword = new StringHandlerY(ord);
              }
            }
            print(lastword, count);
            }

          public static void print(StringHandlerY lastWord, int stringCount) {
              showMessageDialog(null, "Du tryckte 'cancel' \nDu har givit "+stringCount+" strängar."
                    + "\nSträngen: \n'" + lastWord.getString() +"', har "+ lastWord.getWords() + " ord");

          }
        }

已存在并允许删除最后一个元素的latestStringTry堆栈:

 Stack<String> stringStack = new Stack<String>();
 stringStack.push("Hello World");
 stringStack.push("Hi World");
 String latestString = stringStack.pop();
 System.out.println("Last string was " + latestString + " with size " + latestString.split("\\s+").length);
Stack-stringStack=new-Stack();
stringStack.push(“Hello World”);
stringStack.push(“Hi World”);
String latestString=stringStack.pop();
System.out.println(“最后一个字符串是“+latestString+”,大小为“+latestString.split”(\\s+”).length);
如果您想继续使用列表,请按如下方式尝试LinkedList:

LinkedList<String> stringList = new LinkedList<String>();
stringList.add("Hello World");
stringList.add("Hi World");
String latestString = stringList.removeLast();
System.out.println("Last string was " + latestString + " with size "
            + latestString.split("\\s+").length);
LinkedList stringList=新建LinkedList();
添加(“Hello World”);
添加(“Hi World”);
String latestString=stringList.removeLast();
System.out.println(“最后一个字符串是”+latestString+”,大小为“
+latestString.split(“\\s+”).length);

使用ListIterator,该迭代器允许我们双向迭代。迭代器有类似has的方法

前() 返回列表中的上一个元素并向后移动光标位置

hasPrevious() 如果此列表迭代器在反向遍历列表时包含更多元素,则返回true


示例代码:

查看。考虑使用堆栈,而如果您确实需要一个数组列表作为分配的一部分,请检查DEQE接口以获得一些有用的方法。我认为我应该使用栈,而不是肯定的,因为问题都是瑞典文…
LinkedList<String> stringList = new LinkedList<String>();
stringList.add("Hello World");
stringList.add("Hi World");
String latestString = stringList.removeLast();
System.out.println("Last string was " + latestString + " with size "
            + latestString.split("\\s+").length);