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;