關於

2012-04-08 66 views
0

我目前使用StringTokennizer類串轉化成不同的令牌拆分所界定的分隔符掃描器類..關於

public class App { 
    public static void main(String[] args) { 

     String str = "This is String , split by StringTokenizer, created by Neera"; 
     StringTokenizer st = new StringTokenizer(str); 


     System.out.println("---- Split by comma ',' ------"); 
     StringTokenizer st2 = new StringTokenizer(str, ","); 

     while (st2.hasMoreElements()) { 
      System.out.println(st2.nextElement()); 
     } 
    } 
} 

我的查詢,可同樣的事情也可以通過掃描儀類也實現... !是否正確的方法來使用掃描儀類,因爲我正在閱讀掃描儀類允許標記來自循環內的數據,它允許你停下來,只要你想...我已經嘗試了以下的事情,但它doesn'工作...請告訴我.. !!!

public class App1 { 

    public static void main(String[] args)  
    { 
     Scanner scanner = new Scanner("This is String , split by StringTokenizer, created by Neera").useDelimiter(", ");  

     while (scanner.hasNextLine()) { 
      System.out.println(scanner.nextLine()); 
     } 
    } 
} 
+0

scanner.useDelimiter( 「」);問題 讀碼: http://stackoverflow.com/questions/10060843/regarding-arraylist/10060894 – Srinivas 2012-04-08 06:48:05

回答

0

使用scanner.next()返回下一個標記,而不是scanner.nextLine(),它返回下一全線(和你的輸入只有一個)。當然你會想在你的while中使用hasNext()而不是hasNextLine()

針對您的評論:

代碼有語法錯誤,這是我最初取得了錯字和問題修正。你寫:

while (scanner.hasNext()) ; 
    System.out.println(scanner.next()); 

哪些正確的格式應該告訴你什麼是真正發生的事情:

while (scanner.hasNext()) 
    ; // empty statement 
System.out.println(scanner.next()); 

它應該是:

while (scanner.hasNext()) { 
    System.out.println(scanner.next()); 
} 
+0

嗨感謝lot..I遵循下面您的意見是代碼仍然沒有得到結果,請告訴我是否需要進一步更改.. !!公共類App1的{ \t \t公共靜態無效的主要(字串[] args) { \t \t掃描儀的掃描儀=新掃描儀( 「這是字符串,通過StringTokenizer的,由尼拉創建分割」)。useDelimiter( 「」 ); \t while(scanner.hasNext()); System.out.println(scanner.next()); // String line = scanner.next(); //System.out.println(line); } } – Neera 2012-04-08 05:29:34

+0

@Neera查看我的編輯。 – 2012-04-08 05:34:12

+0

嗨非常感謝,它的工作,但我得到的輸出是...在控制檯上...這是字符串,由StringTokenizer拆分,由Neera創建,而應該在分隔符(,)上標記化..請告訴我缺什麼.. !! ..這裏就是一段代碼.. 公共類應用1 { \t \t公共靜態無效的主要(字串[] args){ \t \t掃描儀掃描=新的掃描儀( 「這是String,由StringTokenizer分割,由saral創建」)。useDelimiter(「,」); \t while(scanner.hasNext()){ \t \t System.out.println(scanner.next());}}} – Neera 2012-04-08 05:42:08