应该从用户读取行,直到输入哨兵“DONE”,此时它们将反向显示。不打印“DONE”字使用java.util.Stack打印反向文本行
这里是我的代码,到目前为止我不知道如何得到它的所有一起工作,我知道我已经得太多这一点,但任何帮助将不胜感激
import java.util.Scanner;
import java.util.Stack;
public class Turner_A05Q3{
public static void main(String[] args) {
Stack<String> stack = new Stack<String>();
ArrayList<String> list = new ArrayList<String>();
System.out.println("Enter text, or done to stop");
Scanner scanner = new Scanner(System.in);
List<String> al = new ArrayList<String>();
String word;
while (scanner.hasNextLine()) {
word = scanner.nextLine();
if (word != null) {
word = word.trim();
if (word.equalsIgnoreCase("done")) {
break;
}
al.add(word);
} else {
break;
}
}
for (int i=0;i<word.length();i++){
stack.push(word.substring(i,i+1));
}
String wordrev = "";
while(!stack.isEmpty()){
wordrev += stack.pop();
}
System.out.println("Reverse of the text \"" + wordrev);
}
}
句子应该是b e以与输入相反的顺序显示,或者每行应该被颠倒 - 例如, “一些输入”变成“tupni emoS”? –
这段代码的格式很难遵循。除此之外,你在问什么?什么/不工作? – Whymarrh
https://docs.oracle.com/javase/8/docs/api/java/lang/StringBuilder.html#reverse()可能会对您有所帮助 – 2016-02-12 18:23:55