2013-07-17 46 views
-8

嗨我想清楚如何拆分字符串,所以繼承人我的代碼: ,因爲我使用bufferedreader和我有兩個文本框,所以它讀取文本框(第一個文本框我鍵入約翰),第二個文本框我鍵入彼得)輸出是johnpeter,所以我想分開文本框而不是直接讀1行。java拆分文本框使用bufferreader

BufferedReader reader = new BufferedReader(new InputStreamReader(
      req.getInputStream())); 
     String name; 

    while ((name = reader.readLine().toString()) != null) 
    { 

     Statement stmt; 


    String[] players = name.split(""); 
     String playerO = players[1]; 
     String playerX = players[2]; 

電流輸出是:

Player 1 :j 
Player 2 :o 

,我想我的輸出是:

Player 1 :john 
Player 2 :peter 
+5

那麼,拆分什麼? –

+0

代碼不可編譯 –

+0

@JigarJoshi可能缺少'johnpeter'上的引號 – StephenTG

回答

3

由於是,你將無法分割你想要的字符串,因爲沒有明確的界定字符。如果你將它保存爲「john peter」或「john,peter」或類似的東西,那麼拆分會更容易。

那麼你只需要改變

String[] players = name.split("");

String[] players = name.split(" ");

String[] players = name.split(",");

而且,正如其他人所提到的,記得在players的第一個項目是players[0],不是players[1]

0

我不確定自從拆分(「關於什麼」)後你要做什麼。

如果嘗試一些像這樣的東西的名稱之間的空間,

String name = "john peter"; 
    String[] players = name.split(" "); 
    String playerO = players[0]; 
    String playerX = players[1]; 


    System.out.println("Player 1 :" +playerO); 
    System.out.println("Player 2 :" +playerX); 

如果要拆分(「?」)應該有標識

1

正如其他人所提到的(在哪一分) ,你的原始字符串 「johnpeter」 需要,而不是要像

"john,peter,joey,tom,dick,harry"; 

那麼你可以

String name = "john,peter,joey,tom,dick,harry"; 
String[] players = name.split(","); 
String playerO = players[0]; 
String playerX = players[1]; 


System.out.println("Player 1 :" + players[O]);//or, playerO 
System.out.println("Player 2 :" + players[1]);//or, playerX 

注意數組的零基。希望這可以幫助!