所以这是我的问题/问题:
作业是编写一个程序,它接受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");
}
}
//这是在另一个文件中:
public class StringHandlerY
{
static int nrOfObjects;
private String str;
// konstruktor
StringHandlerY (String s) {
str = s;
}
// accessor / getters - returnan någonting
int getWords () {
String[] temp = this.str.split(" ");
int i = temp.length;
return i;
}
String getString () {
return this.str;
}
}**strong text**
答案 0 :(得分:1)
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);
如果您想坚持使用List,请尝试使用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);
答案 1 :(得分:0)
使用ListIterator,这个迭代器允许我们在两个方向上进行迭代。迭代器有像
这样的方法先前() 返回列表中的上一个元素并向后移动光标位置。
hasPrevious() 如果此列表迭代器在反向遍历列表时具有更多元素,则返回true。
http://docs.oracle.com/javase/7/docs/api/java/util/ListIterator.html
示例代码:http://examples.javacodegeeks.com/core-java/util/arraylist/arraylist-listiterator-example/