標籤:
public class ComputeSourceLine {public static void main(String[] args) throws FileNotFoundException {// TODO Auto-generated method stub// 定義相關變數int totalLine = 0;int emptyLine = 0;int commentLine = 0;int codeLine = 0;// 大家重點瞭解 Scanner類(網路搜尋) 與 String類(教材P75及網路) 的使用// 檔案的路徑 String strFileName;// 使用命令列的方式,如果有命令列參數,則檔案名稱從外界擷取,否則使用指定檔案// 使用方式: java ComputeSourceLine filename (實際中用完整的檔案名稱替代filename)if(args.length>=1)strFileName = args[0];elsestrFileName = "src/ComputeSourceLine.java";// 使用Scanner進行讀檔案 Scanner sc = new Scanner(new File(strFileName));while (sc.hasNextLine()) {String strTmp = sc.nextLine();// 去掉前後的空格strTmp = strTmp.trim();// 判斷是否為空白行、注釋、程式碼if(strTmp.length()==0)emptyLine ++;else if(strTmp.length()>2 && "//".equals(strTmp.substring(0,2))==true)commentLine ++;elsecodeLine ++;// System.out.println(strTmp); }// 關閉sc.close();totalLine = emptyLine+commentLine+codeLine;System.out.println("總行數="+totalLine);System.out.println("空行數="+emptyLine);System.out.println("注釋行數="+commentLine);System.out.println("程式碼數="+codeLine);}}
給定一個原始碼檔案(.cs, .java),輸出該檔案的總行數、空行數、注釋行數、程式碼數