作者PsMonkey (痞子军团团长)
看板java
标题Re: [问题] 二维阵列复制贴上输入的问题
时间Fri May 9 08:48:24 2014
※ 引述《onejiko (己抠)》之铭言:
: 我想问当我一开始输入3
: 再输入三串数列都可以正常OUTPUT
: 1 2 3 4 5 6
: 2 3 4 5 6 1
: 3 4 5 6 1 2
: 但如果我是用复制贴上那三行数列的话
: 它却不能完全抓取到三串数列这是怎麽回事?
你的问题应该简化为「复制贴上无法取得三个『字串』」
也就是说
: int i;
: int num;
: String str1;
: System.out.println("请输入n");
: Scanner c = new Scanner(System.in);
: num = c.nextInt();
(上面都是杂讯,直接 int num = 3; 来测你的程式不是更快乐)
: String array[][] = new String[num][6];
: for(int x=0;x<num;x++){
: System.out.println(x);
: Scanner scanner = new Scanner(System.in);
: str1 = scanner.nextLine();
你在这边 System.out.println(str1); 就会觉得怪怪的了
连 str1 都不对了,後头还能期望什麽 T__T
: String str2[]=str1.split(" ");
: i=0;
: for(int y=0 ; y<6 ; y++ ){
: array[x][y] = str2[i];
: i++;
: }
: }
也就是说,你的「真正」的问题,其实可以简化成
下面的程式码,为什麽直接复制贴上
1 2 3 4 5 6
7 8 9 0 1 2
3 4 5 6 7 8
结果会跟每次一行一行手动输入不一样
int num = 3; //TODO 改成 System.in 输入
for (int x = 0; x < num; x++) {
Scanner scanner = new Scanner(System.in);
System.out.println(scanner.nextLine());
}
加上良好的缩排,理论上你就不会害到 cyclone350 Orz
→ cyclone350:is it?
http://ppt.cc/wJSc
基本上 cyclone350 的回答... 我个人认为非常诡异 =="
因为如果复制贴上到 Notepad 之类的 editor / textarea
他还是会换行,不是吗?
那表示当你复制的时候,一定有帮你补换行符号
不然 editor / textarea 怎麽知道要换行 Orz
再加上 Scanner.nextList() 的程式码
String result = findWithinHorizon(linePattern, 0);
回头追一下 linePattern 怎麽来的
基本上是这个 pattern
"\r\n|[\n\r\u2028\u2029\u0085]"
\r 跟 \n(那三个 \u 不确定是啥字 XD)都有进去了
所以说... 这不科学! [盖章]
结果就是,你的 Scanner 宣告放错地方了
至於为什麽,我想你要自己找出答案 [指]
最後,我觉得一切循其本
能从 source code 或是标准文件作为 reference 是比较好的
我昨天才遇到一个五年前没问题、官方文件也这样教
结果三年前的 source code 就告诉你「强烈建议不要这样作」的哏 [泪目]
====
麻烦 cyclone350 缴交 500 字检讨报告,不然就让你上版标! [完全误]
--
钱锺书:
说出来的话
http://www.psmonkey.org
比不上不说出来的话
Java 版 cookcomic 版
只影射着说不出来的话
and more......
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 210.61.165.57
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/java/M.1399596507.A.277.html
1F:→ danny8376:又是这种吃buffer的问题啊www 05/09 09:57
2F:→ PsMonkey:吃 buffer??? 不懂 @_@ 05/09 10:02
3F:→ pcyu16:板主好邪恶 (指板标) 05/09 10:17
4F:→ swpoker:buffer有分399还是799的吗 05/09 11:26
5F:→ PsMonkey:我只知道 buffet 有分,我还真不知道 buffer 也有分 Orz 05/09 11:56
6F:推 cyclone350:天啊 ~ 我根据他的问题google关键字。当初也觉得有点 05/09 18:53
7F:→ cyclone350:怪怪的,所以加个问号代表没有查证且不确定 QQ。 05/09 18:56
//修正 typo,nextList() → nextLine()
※ 编辑: PsMonkey (114.43.104.99), 05/10/2014 08:13:15