去掉comments
2016-03-09 09:47
204 查看
三种comments:
/* Test program */ int main() { // variable declaration int a, b, c; /* This is a test multiline comment for testing */ a = b + c; }
import java.util.*; public class removeComments{ public static void main(String [] args){ String file = " /* Test program */ \n" + " int main() \n" + " { \n" + " // variable declaration \n" + " int a, b, c; \n" + " /* This is a test \n" + " multiline \n" + " comment for \n" + " testing */ \n" + " a = b + c; \n" + " } \n"; System.out.println(file); System.out.println(removeComments(file)); } private static String removeComments(String s){ if(s == null || s.length() == 0){ return s; } StringBuilder res = new StringBuilder(); boolean sCom = false; boolean mCom = false; for(int i = 0; i<s.length(); i++){ // System.out.println("i is " + i + "sCom, mCom = " + sCom + mCom); if(sCom && (s.charAt(i) == '\n')){ System.out.println("i is " + i); sCom = false; }else if(mCom && s.charAt(i) == '*' && i+1<s.length() && s.charAt(i+1) == '/'){ mCom = false; i++; }else if(sCom || mCom){ continue; }else if(s.charAt(i) == '/' && i+1 < s.length() && s.charAt(i+1) == '/'){ sCom = true; i++; }else if(s.charAt(i) == '/' && i+1 <s.length() && s.charAt(i+1) == '*'){ mCom = true; i++; }else{ res.append(s.charAt(i)); } } return res.toString(); } }
相关文章推荐
- hibernate实现有两种配置,xml配置与注释配置。<转>
- How to set Selenium Python WebDriver default timeout?
- kvm和qemu的关系
- flume在windows下的启动脚本
- LNK1104:无法打开文件"\.obj"
- 如何使用JavaScript来写ASP程序
- Android常用的第三方库整理
- [UIScreen mainScreen].bounds.size 在iPhone 6和iPhone 6 plus上获取到的尺寸不对
- 三个步骤教你如何做好后台产品设计
- 转载java面试
- instanceof
- Baby Ming and Matrix games(dfs计算表达式)
- SDIO 协议分析
- poj1062
- Android编程实现根据不同日期计算天数差的方法
- mongovue模糊查询
- javascript实现动画
- 使用jvisualvm通过JMX的方式远程监控JVM的运行情况
- mac上删除占用adb端口的进程
- MFC 中配置OpenGL环境