有個程式不會寫
1.這個程式主要會讀檔(例如檔名為a.txt)a.txt裡是一個1+到100的JAVA原始碼
2.然後程式裡有個副程式較token(),他的功能是能把原始碼裡的單字存到string裡(例如public算第一個class算第二個{算第三個一直到a.txt的字都存完)
3.能抓出關鍵字像for、while、println等等並印出它們在a.txt裡第幾行,是第幾個string
大致上是這樣.我目前只能搞定1.希望大大可以幫幫忙.感恩
2006-07-10 19:36:56 · 1 個解答 · 發問者 ? 1 in 電腦與網際網路 ➔ 程式設計
更正2.檔名算第三個,{算第四個
2006-07-11 05:28:59 · update #1
你好.如果a.txt裡的for跟(黏在一起,這樣就抓不到了.該怎摸解決呢??
2006-07-19 17:08:13 · update #2
我的例子只能測出三個關鍵字,分別是"for"、"while"和"class"。請自行加入所需的關鍵字。import java.io.*;import java.util.*;public class B { public static void main(String[] args) throws Exception { BufferedReader br = null; if (args.length < 1) { System.out.print("Please input the file name: "); br = new BufferedReader(new InputStreamReader(System.in)); args[0] = br.readLine(); } br = new BufferedReader(new FileReader(args[0])); String[][] ary = new String[50][100]; int count = 0; String s = null; while ((s = br.readLine()) != null) { StringTokenizer tokenizer = new StringTokenizer(s); int count2 = 0; while (tokenizer.hasMoreTokens()) { ary[count][count2++] = tokenizer.nextToken(); } count++; } for (int i = 0; i < ary.length; i++) { for (int j = 0; j < ary[i].length; j++) { if (ary[i][j] != null && isKeyword(ary[i][j])) System.out.println("Line " + (i+1) + " Word " + (j+1) + " : " + ary[i][j]); } } } public static boolean isKeyword(String s) { if (s.equals("for") || s.equals("while") || s.equals("class")) return true; return false; }}
2006-07-12 15:08:04 · answer #1 · answered by ? 7 · 0⤊ 0⤋