[問題] 讀入一個字串,把它分開的方法?(java)

看板NIUECE91作者 (D奶殺手)時間14年前 (2010/05/05 19:19), 編輯推噓7(7015)
留言22則, 5人參與, 最新討論串1/1
標題可能不太好懂 假設我要輸入一個含有文字及數字,以空格隔開的字串,如(happybirthday 20 100), 我想要把這三個值分開指定為另外三個變數,再傳到另一個class裡頭。 BufferedReader 1stbuf = new BufferedReader(new InputStreamReader(System.in)); //上面這行是做一個變數(1stbuf)放我輸入的 happybirthday,20,100 String 2ndbuf = 1stbuf.readLine(); //上面這行是將1stbuf放到2ndbuf(其實我覺得這行很多餘) String[] years = 2ndbuf.spilt(" "); //上面這行是把2ndbuf的內容去掉空格,然後放到years這個字串陣列裡 有辦法直接跳過第三行將2stbuf放進2ndbuf的這個step嗎… ^^^^^^打錯了,是1stbuf才對 如果第三行寫成: String[] years = 1stbuf.readline() ....接下來我就不知道怎麼下分割的指令了... 還有其他問題…礙於時間…下一篇再問… 各位大大教教我吧~~~~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 219.87.76.106 ※ 編輯: yanunix 來自: 219.87.76.106 (05/05 19:20)

05/05 23:09, , 1F
專業是需要收費的
05/05 23:09, 1F

05/06 07:48, , 2F
請來信報價XDD
05/06 07:48, 2F

05/06 22:23, , 3F
JAVA不會 愛莫能助
05/06 22:23, 3F

05/06 22:26, , 4F
看完後還是不太懂你的問題,哪裡有2stbuf?
05/06 22:26, 4F

05/06 22:27, , 5F
雖然沒寫過Java,不過單看這三行大概知道是在做啥
05/06 22:27, 5F

05/06 22:28, , 6F
第一行將資料放到ReadBuffer,這通常在讀檔會用到
05/06 22:28, 6F

05/06 22:28, , 7F
此時的資料是一連串的Bytes資料
05/06 22:28, 7F

05/06 22:29, , 8F
第二行從ReadBuffer中讀取"一"行出來放到2ndbuf
05/06 22:29, 8F

05/06 22:30, , 9F
第三行使用split語法用"空白"去切割字串放到years中y
05/06 22:30, 9F

05/06 22:32, , 10F
提醒一點string[] years=1stbuf.readline()因該會錯
05/06 22:32, 10F

05/06 22:32, , 11F
因為string[]是未定size的string陣列!
05/06 22:32, 11F

05/06 22:40, , 12F
高手出現了!
05/06 22:40, 12F

05/06 22:43, , 13F
俺是低手!
05/06 22:43, 13F

05/07 07:52, , 14F
說錯了~~~是1stbuf..orz
05/07 07:52, 14F
※ 編輯: yanunix 來自: 219.87.76.106 (05/07 07:53)

05/07 07:54, , 15F
先謝謝小雞大,我再查查string[] years這部分怎麼寫才好
05/07 07:54, 15F

05/07 14:07, , 16F
那照你這樣說因該是要跳過第二行吧?
05/07 14:07, 16F

05/07 14:08, , 17F
String[] years = 1stbuf.readline().spilt(" ");
05/07 14:08, 17F

05/07 14:09, , 18F
不過建議如果想要分割字串,最好還是使用這三行
05/07 14:09, 18F

05/08 00:32, , 19F
我沒試過在一列裡直接用1st.buf.readline().split(" ");耶
05/08 00:32, 19F

05/08 00:32, , 20F
我找時間試試這樣是否可行
05/08 00:32, 20F

05/08 00:52, , 21F
.net可以,java我就不確定哩~你試試看摟
05/08 00:52, 21F

05/10 09:31, , 22F
小雞大~~~buf.readline().split()這樣是可行的!!感謝大大!
05/10 09:31, 22F
文章代碼(AID): #1BuLG-1y (NIUECE91)