当前位置:编程学习 > JAVA >>

谁懂C的,能帮我把下面这段c翻译成java代码吗?顺便解析下什么意思,多谢

源代码如下:
char* ReplaceSpecChar(char *s, char *sInput)
{
long i=0, j=0;

memset(s, 0, 1201);
for (i=0; sInput[i]; i++)
{
if (sInput[i] == '<')
{
s[j++]='&';s[j++]='l';s[j++]='t';s[j++]=';';
}
else if (sInput[i] == '>')
{
s[j++]='&';s[j++]='g';s[j++]='t';s[j++]=';';
}
else if (sInput[i] == '&')
{
s[j++]='&';s[j++]='a';s[j++]='m';s[j++]='p';s[j++]=';';
}
else if (sInput[i] == '\'')
{
s[j++]='&';s[j++]='a';s[j++]='p';s[j++]='o';s[j++]='s';s[j++]=';';
}
else if (sInput[i] == '"')
{
s[j++]='&';s[j++]='q';s[j++]='u';s[j++]='o';s[j++]='t';s[j++]=';';
}
else
{
s[j++]=sInput[i];
}
}
return s;
}




先翻译为java,最后能解释下,麻烦了,我是新手,不太会,努力学习中 --------------------编程问答-------------------- String ReplaceSpecChar(String s, String sInput)
{
long i=0, j=0;

//memset(s, 0, 1201);
s.replaceAll(null, "1201");
for (i=0; sInput[i]; i++)
{
if (sInput[i] == '<')
{
s[j++]='&';s[j++]='l';s[j++]='t';s[j++]=';';
}
else if (sInput[i] == '>')
{
s[j++]='&';s[j++]='g';s[j++]='t';s[j++]=';';
}
else if (sInput[i] == '&')
{
s[j++]='&';s[j++]='a';s[j++]='m';s[j++]='p';s[j++]=';';
}
else if (sInput[i] == '\'')
{
s[j++]='&';s[j++]='a';s[j++]='p';s[j++]='o';s[j++]='s';s[j++]=';';
}
else if (sInput[i] == '"')
{
s[j++]='&';s[j++]='q';s[j++]='u';s[j++]='o';s[j++]='t';s[j++]=';';
}
else
{
s[j++]=sInput[i];
}
}
return s;
} --------------------编程问答-------------------- 楼上你这么写有点不对哦,没人知道么?求解决啊 --------------------编程问答-------------------- char * 改成 char[] 
然后有""的地方改成 '' 
memset 这句话是对内存初始化 --------------------编程问答-------------------- 基本和java一样啊。。。楼上说的不错,虽然我也会c和java,但是还没听过memset 这个函数。。。
补充:Java ,  Java EE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,