English Deutsch Français Italiano Español Português 繁體中文 Bahasa Indonesia Tiếng Việt ภาษาไทย
所有分類

有個程式不會寫
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

1 個解答

我的例子只能測出三個關鍵字,分別是"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

fedest.com, questions and answers