第一个作业(《C#程序设计》or《Java程序设计》):源代码计算器
来源:互联网 发布:伊苏里亚王朝 知乎 编辑:程序博客网 时间:2024/06/02 07:57
//给定一个源代码文件(.cs, .java),输出该文件的总行数、空行数、注释行数、代码行数import java.io.BufferedReader; import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; public class StaticsCodeingLine { private static int whiteLines = 0; //定义空白行数 private static int commentLines = 0; //定义注释行数 private static int normalLines = 0; //定义有效代码行数 public static void main(String[] args) { File f = new File("E:\\workplace\\first\\src\\iotest\\StaticsCodeingLine.java"); sumCode(f); } private static void sumCode(File file) { BufferedReader br = null; boolean comment = false; try { br = new BufferedReader(new FileReader(file)); String line = ""; try { while ((line = br.readLine()) != null) { line = line.trim(); if (line.matches("^[\\s&&[^\\n]]*$")) { whiteLines++; } else if (line.startsWith("/*") && !line.endsWith("*/")) { commentLines++; comment = true; } else if (true == comment) { commentLines++; if (line.endsWith("*/")) { comment = false; } } else if (line.startsWith("//")) { commentLines++; } else { normalLines++; } } } catch (IOException e) { e.printStackTrace(); } } catch (FileNotFoundException e) { e.printStackTrace(); } finally { if (br != null) { try { System.out.println("空行数:"+whiteLines); System.out.println("注释行数:"+commentLines); System.out.println("代码行数:"+normalLines); br.close(); br = null; } catch (IOException e){ e.printStackTrace(); } } } } }
0 0
- 第一个作业(《C#程序设计》or《Java程序设计》):源代码计算器
- 《C#程序设计》or《Java程序设计》第一次作业:源代码计算器
- 《Java程序设计》)第一次作业:源代码计算器
- 《Java程序设计》第一次作业:源代码计算器
- 《Java程序设计》第一次作业:源代码计算器
- 《Java程序设计》第一次作业:源代码计算器
- 《Java程序设计》第一次作业:源代码计算器
- 《Java程序设计》第一次作业:源代码计算器
- 《Java程序设计》第一次作业:简单的JAVA源代码之计算器
- 《Java程序设计》第一次作业:源代码计算器 目标二
- 第一个作业(计算器)
- C#作业第一期,简单的源代码计算器
- C# 程序设计第一讲
- 程序设计第三次作业---C++计算器雏形
- java程序设计第一课
- 第一个C#程序(简单计算器)
- 《C#程序设计》第五次作业
- 《C#程序设计》第四次作业
- 曹植为何争储失败
- 安卓UI设计如何做到屏幕自适应
- java_web初学笔记之<XML解析技术>
- python解释器中help的用法
- CentOS7控制台设置屏幕分辨率
- 第一个作业(《C#程序设计》or《Java程序设计》):源代码计算器
- nginx安装
- 看数据结构写代码(42)最小生成树
- 线性排序之计数排序
- ecshop数据库的操作及必备函数用法大全
- Cordova + Android Studio 1.0配置
- P114 第七章思考与练习
- C++ socket shutdow 与 close 的使用
- Cocos2d-3.x_Android物理按键回调