java 统计不同 代码_java 代码统计(简陋版本)

一个小的java代码统计。很多情况没有处理  比如 空行 处理 欢迎指出缺点。

import java.io.BufferedReader;

import java.io.File;

import java.io.FileReader;

import java.io.IOException;

public class CalCodeLine {

/**

* @author silencer

* @throws IOException

*/

public static void main(String[] args) throws IOException {

String filePath ="";

File file = new File(filePath);

System.out.println(" all code line :"+getFileLine(file));

}

/**

*

* @param file

* @return fileLine

* @throws IOException

*/

public static int getFileLine(File file) throws IOException {

int sFile = 0;

if (file.isDirectory()) {

File[] files = file.listFiles();

for (File tempFile : files) {

if (tempFile.isDirectory()) {

sFile += getFileLine(tempFile);

} else {

sFile += getJavaTextLength(tempFile);

}

}

}else{

sFile += getJavaTextLength(file);

}

return sFile;

}

/**

*

* @param file

* @return textLine

* @throws IOException

*/

public static int getJavaTextLength(File file) throws IOException {

int sLength = 0;

if (file != null && file.getName().endsWith(".java")) {

BufferedReader br = new BufferedReader(new FileReader(file));

StringBuffer sb = new StringBuffer();

sb.append(br.readLine());

boolean isComment = false;

boolean isSigleComment = false;

while (!sb.toString().equals("null")) {

if (sb.toString().startsWith("//")) {

isSigleComment = true;

} else if (sb.toString().contains("/*")) {

isComment = true;

} else if (sb.toString().contains("*/")) {

isComment = false;

sLength -= 1;

}

if (!isSigleComment && !isComment

&& !sb.toString().startsWith("import")

&& !sb.toString().isEmpty()) {

sLength += 1;

}

isSigleComment = false;

sb = sb.delete(0, sb.length());

sb.append(br.readLine());

}

br.close();

}

return sLength;

}

}

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 、4下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合;、下载 4使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合;、 4下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.m或d论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 、1资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码
基于控制台的学生成绩统计系统是一个使用Java编程语言开发的系统,用于管理和统计学生的成绩。该系统可以实现以下功能: 1. 学生信息管理:可以添加、删除、修改学生的基本信息,包括学号、姓名、性别、年龄等。 2. 成绩录入:可以录入学生的各科成绩,比如数学、语文、英语等。 3. 成绩查询:可以根据学生的学号或姓名查询学生的各科成绩。 4. 成绩统计:可以计算学生的总分、平均分、最高分、最低分等统计数据。 5. 成绩排名:可以根据总分或某个科目的成绩对学生进行排名。 系统的实现主要基于控制台交互,通过控制台输出菜单选项供用户选择需要执行的功能,用户可以通过控制台输入相应的指令来操作系统。比如,用户可以选择添加学生信息,输入学生的基本信息并保存到系统中,然后选择录入成绩,输入学生的各科成绩并保存,再选择查询功能来查看学生的成绩和统计数据。 在系统的实现过程中,会使用一些Java的核心概念,比如类与对象、数组、循环、条件判断等。同时需要处理一些异常情况,比如输入错误的学号或成绩时,需要给出相应的提示信息。 该系统的优点是简单、易用,不需要依赖任何图形界面库,只需在控制台上进行操作即可。同时,可以通过数据持久化的方式将学生的信息和成绩保存在本地文件中,方便后续的查询和分析。不足之处是界面比较简陋,用户体验可能不如基于图形界面的系统。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值