作者LPH66 (-858993460)
看板java
标题Re: [问题] 请问使用贴上的方式输入多行文字
时间Thu May 26 23:43:47 2011
※ 引述《diabloevagto (wi)》之铭言:
: scanner利用贴上的方式输入多行文字
: 要如何才能正确读入呢?
: 我只要一贴上就会直接执行底下的程式
: 而且只有读到第一行而已
: 请问要如何修改成程式才可以把全部的文字都吃进去
先问你一个问题
你是要到什麽时候才让程式继续执行下去?
十行?五十行?一百行?
这样一想你就知道除非你自己告诉程式我结束了
不然程式永远无法知道你已经输入完毕
那麽有一种方式就是折衷 来一行处理一行
其实 Scanner 的行为比较像是来一个东西处理一个东西
只不过如果你是读 System.in 又是直接键盘输入资料的话
要到你按下 Enter 换行之後
提供资料给 System.in 的底层系统才会说「我这里有资料了来读」
因此看起来就像是一次一行
你可以仔细观察你的程式的执行
你贴上去之後其实不只会只读到一行
而是贴上了一行输入 程式跑完之後会继续贴上第二行
然後开始执行处理第二行输入 这样下去
这就是因为上面说的现象
所以不用在这种小事上面担心了 你的程式还是很好的在运作着的 :)
--
'Oh, Harry, don't you
see?' Hermione breathed. 'If she could have done
one thing to make
absolutely sure that every single person in this school
will read your interview, it was
banning it!'
---'Harry Potter and the order of the phoenix', P513
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.28.92
1F:推 diabloevagto:感谢你的讲解,大概有一点头绪了! 05/27 01:55
2F:推 diabloevagto:测试用loop一直读可以,看来只能主动告知输入结束 05/27 01:59
3F:→ james732:最简单的方法是用某个关键字告诉程式"使用者输入完了" 05/27 20:28