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]; else strFileName = "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 ++; else codeLine ++; // 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); } }
时间: 2024-10-06 00:38:51