日期:2014-05-20  浏览次数:20763 次

java的三种注释:// 单行, /* */ 多行,/** */多行,怎样操作呢?
我本人是刚刚接触java的,对于注释的问题应该怎样操作呢?具体的要求如下:

计算编译通过的java代码中有效语句(除去空格行、注释语句、单行只有1个字符的语句)的数目。
  方法原型: int calCodeLines(String[] codes);
  分析:java的三种注释:// 单行, /* */ 多行,/** */多行
  空行中可能含有空格,所以需要先压缩空格:trim方法。
  单行只有一个字符的合法语句是{ \ }
  测试输入:
 String[] codes = {"/**",
  "@author fh",
  "demo */",
  " ",
  "public class Hello {",
  "/* @param args", 
  "*/",
  "//main 是 java 程序入口方法",
  "public static void main(String[] args) {",
" System.out.println('hello'); //输出hello ",
"}",
  "}"  
  };
  上述输入就是一个简单的java程序按行存放到字符串数组中的形式,注意由于外围使用了"",所以println中的hello用了单引号'。
  输出的实际行数按要求应为3(注意"}"所占的行不算);

我也在百度上搜索啦,但是还是不会。在此谢谢各位大侠帮助,,谢谢啦,我真的很需要帮助的!!

------解决方案--------------------
INT COUNT = 0;
BOOL FLAG = FALSE;
FOR STR IN codes
{
STR = TRIM(STR);
IF(STR=='') CONTINUE;
IF(STR.STARTWITH('/*'))
{ FLAG =TRUE; }
IF(FLAG && STR.ENDWITH('*/') && STR != '/*/')
{ FLAG = FALSE; CONTINUE; }
IF(FLAG)CONTINUE;
IF(STR.STARTWITH('//'))
{ CONTINUE;}
IF(STR=='{' OR STR =='}')
{ CONTINUE; }
COUNT++;
}
RETURN COUNT;