import java.io.FileInputStream; import java.io.PrintStream; import java.util.Scanner; /* ********\\\\\\\\\\/////////******** this is test program this is test program this is test program */ public class Solution { private static final char MARK = '"'; private static final char SLASH = '/'; private static final char BACKSLASH = '\\'; private static final char STAR = '*'; private static final char NEWLINE = '\n'; private static final int TYPE_MARK = 1; private static final int TYPE_SLASH = 2; private static final int TYPE_BACKSLASH = 3; private static final int TYPE_STAR = 4; private static final int TYPE_DSLASH = 5; public static String removeComment(String s) { int preType = 0; int mark = -1, cur = -1, token = -1; char[] input = s.toCharArray(); for (cur = 0; cur < input.length; cur++) { if (input[cur] == MARK) { if (preType == TYPE_BACKSLASH) continue; if (mark > 0) { mark = -1; } else { mark = cur; } preType = TYPE_MARK; } else if (input[cur] == SLASH) { if (mark > 0) continue; if (preType == TYPE_STAR) { input = del(input, token, cur); cur = token - 1; preType = 0; } else if (preType == TYPE_SLASH) { token = cur - 1; preType = TYPE_DSLASH; } else { preType = TYPE_SLASH; } } else if (input[cur] == BACKSLASH) { preType = TYPE_BACKSLASH; } else if (input[cur] == STAR) { if (mark > 0) continue; if (preType == TYPE_SLASH) { token = cur - 1; } preType = TYPE_STAR; } else if (input[cur] == NEWLINE) { if (preType == TYPE_DSLASH) { input = del(input, token, cur - 1); cur = token - 1; preType = 0; } } } return new String(input); } public static char[] del(char[] _target, int _start, int _end) { char[] tmp = new char[_target.length - (_end - _start + 1)]; System.arraycopy(_target, 0, tmp, 0, _start); System.arraycopy(_target, _end + 1, tmp, _start, _target.length - _end - 1); return tmp; } public static void main(String[] args) { try { System.setIn(new FileInputStream("/Users/litong/Desktop/a.in")); System.setOut(new PrintStream("/Users/litong/Desktop/a.out")); Scanner sc = new Scanner(System.in); StringBuilder sb = new StringBuilder(); while (sc.hasNext()) { sb.append(sc.nextLine()); } System.out.println(removeComment(sb.toString())); } catch (Exception e) { } } }
相关推荐
该工具是用于清除C/C++/Java中的// 或/**/的注释。可以对文件夹操作。处理速度非常快。
清除源代码注释、替换源代码注释:包括各种文本文件例如c,c++,java等各种源码。删除指定后缀名的文件。
Java实现HTTP连接与浏览,Java源码下载,输入html文件地址或网址,显示页面和HTML源文件,一步步的实现过程请下载本实例的Java源码,代码中包括丰富的注释,对学习有帮助。 Java实现的FTP连接与数据浏览程序 1个...
在有状态SessionBean中,用累加器,以对话状态存储起来,创建EJB对象,并将当前的计数器初始化,调用每一个EJB对象的count()方法,保证Bean正常被激活和钝化,EJB对象是用完毕,从内存中清除…… Java Socket 聊天...
资源内容:项目全套源码+完整文档 ...后台框架代码:java/c/c++/php/VB/lun/Andorid/Python 开发环境:idea 数据库:MySql(建议用 5.7,8.0 有时候会有坑) 部署环境:Tomcat(建议用 7.x 或者 8.x b版本),maven
附录C Java编程规则 附录D 性能 D.1 基本方法 D.2 寻找瓶颈 D.2.1 安插自己的测试代码 D.2.2 JDK性能评测[2] D.2.3 特殊工具 D.2.4 性能评测的技巧 D.3 提速方法 D.3.1 常规手段 D.3.2 依赖语言的方法 D.3.3 特殊...
附录C Java编程规则 附录D 性能 D.1 基本方法 D.2 寻找瓶颈 D.2.1 安插自己的测试代码 D.2.2 JDK性能评测[2] D.2.3 特殊工具 D.2.4 性能评测的技巧 D.3 提速方法 D.3.1 常规手段 D.3.2 依赖语言的方法 D.3.3 特殊...
附录C Java编程规则 附录D 性能 D.1 基本方法 D.2 寻找瓶颈 D.2.1 安插自己的测试代码 D.2.2 JDK性能评测 D.2.3 特殊工具 D.2.4 性能评测的技巧 D.3 提速方法 D.3.1 常规手段 D.3.2 依赖语言的方法 D.3.3 特殊情况 D...
但在Java中,设计者觉得这种杂合并不象在C++里那么重要。杂合语言允许采用多种编程风格;之所以说C++是一种杂合语言,是因为它支持与C语言的向后兼容能力。由于C++是C的一个超集,所以包含的许多特性都是后者不具备...
注意,尽管一下代码在C和C++中是合法的,但是在java中却不能这样书写: { int x=12; { int x=100; } } 编译器将会报告变量x已经定义过。所以,在C和C++里将一个较大作用域的变量“隐藏”起来的做法,在...
附录C Java编程规则 附录D 性能 D.1 基本方法 D.2 寻找瓶颈 D.2.1 安插自己的测试代码 D.2.2 JDK性能评测[2] D.2.3 特殊工具 D.2.4 性能评测的技巧 D.3 提速方法 D.3.1 常规手段 D.3.2 依赖语言的方法 D.3.3 特殊...
附录C Java编程规则 附录D 性能 D.1 基本方法 D.2 寻找瓶颈 D.2.1 安插自己的测试代码 D.2.2 JDK性能评测[2] D.2.3 特殊工具 D.2.4 性能评测的技巧 D.3 提速方法 D.3.1 常规手段 D.3.2 依赖语言的方法 D.3.3 特殊...
Ivor Horton还著有Beginning Visual C++ 6、Beginning C Programming和Beginning Java 2等多部入门级好书。 目录 封面 -18 前言 -14 目录 -9 第1章 使用Visual C++ 2005编程 1 1.1 .NET Framework 1 1.2 CLR 2...
附录C Java编程规则 附录D 性能 D.1 基本方法 D.2 寻找瓶颈 D.2.1 安插自己的测试代码 D.2.2 JDK性能评测[2] D.2.3 特殊工具 D.2.4 性能评测的技巧 D.3 提速方法 D.3.1 常规手段 D.3.2 依赖语言的方法 D.3.3 特殊...
<br>第2章 一切都是对象 2.1 用句柄操纵对象 2.2 必须创建所有对象 2.2.1 保存在什么地方 2.2.2 特殊情况:主类型 2.2.3 Java中的数组 2.3 绝对不要清除对象 2.3.1 作用域 2.3.2 对象的...
1 按F5可以直接编译并执行C C++ java代码以及执行shell脚本 按“F8”可进行C C++代码的调试 2 自动插入文件头 新建C C++源文件时自动插入表头:包括文件名 作者 联系方式 建立时间等 读者可根据需求自行更改 3 ...
附录C Java编程规则 附录D 性能 D.1 基本方法 D.2 寻找瓶颈 D.2.1 安插自己的测试代码 D.2.2 JDK性能评测[2] D.2.3 特殊工具 D.2.4 性能评测的技巧 D.3 提速方法 D.3.1 常规手段 D.3.2 依赖语言的方法 D.3.3 特殊...
尽管这些与C和C++中见到的有一定的共通性,但多少存在一些区别。除此以外,所有示例都是完整的Java示例,能使大家很快地熟悉Java的外观。 <br>(4) 第4章:初始化和清除 本章开始介绍构建器,它的作用是担保...