2011-03-26 33 views
0

我怎么能告诉我的代码停止录制时,当我按下键盘上的输入?Java扫描仪读取从键盘和存储在堆栈中的行

Scanner sc = new Scanner(System.in) ; 
Stack<String> stack = new Stack<String>() ; 
System.out.println("Enter sentence:"); 
    while (????) 
    { 
     stack.push(sc.next()) ; 
    } 
+0

你想干什么存储在堆栈?每一行作为一个单独的元素? – pajton 2011-03-26 23:42:05

+0

最初我想用一个字试一下,然后打印出来反向 – raoulbia 2011-03-26 23:43:58

回答

2
Scanner sc = new Scanner(System.in); 
Stack<String> stack = new Stack<String>() ; 
System.out.println("Enter sentence:"); 

sc = new Scanner(sc.nextLine()); 

while (sc.hasNext()) 
    stack.push(sc.next()); 
+0

辉煌,谢谢! – raoulbia 2011-03-26 23:46:25

1
String input; 
while ( !(input = sc.nextLine()).equals("")) { 
    stack.push(input) ; 
} 
+0

@双方,感谢您的帮助。如果我只想为一个词做同样的事情,即将每个字符存储为元素,该怎么办? – raoulbia 2011-03-26 23:52:44

+0

使用String类的toCharArray()函数。 http://download.oracle.com/javase/1.4.2/docs/api/java/lang/String.html#toCharArray() – 2011-03-27 00:31:09