时间限制: 1Sec 内存限制: 128MB
题目描述:(原题链接)
将C程序代码中的双斜杠注释去掉。
输入:
输入数据中含有一些符合C++语法的代码行(每行代码不超过200个字符)。需要说明的是,为了方便编程,规定双斜杠注释内容不含有双引号,源程序中没空行。
样例输入:
//======================
// simplest program
//======================
#include
using namespace std;
//----------------------
int main(){
cout<<”hello world!\n”;
}//---------------------
输出:
输出不含有双斜杠注释的C++代码,除了注释代码之外,原语句行格式不变。
样例输出 :
#include
using namespace std;
int main(){
cout<<”hello world!\n”;
}
解题思路:
字符串的解析与连接
注意事项:
注意特殊字符需要进行转义
参考代码:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
while(in.hasNext()) {
String s =in.nextLine();
int index=0;
if(s.contains("//")) { //判断是否含有注释
for(int i=0;i<s.length()-2;i++)
if(s.charAt(i)=='/'&&s.charAt(i+1)=='/') {
index=i; //注释的下标位置
break;
}
}
else {
index=s.length(); //无注释
}
s=s.substring(0,index); //删除含有注释的下标后面的注释部分
if(index!=0)
System.out.println(s); //一行的注释注意不换行
}
in.close();
}
}