你的问题出在
if( s1.charAt(i+j)!=s2.charAt(j))
flag=0;
break;
应该改为:
if( s1.charAt(i+j)!=s2.charAt(j)){
flag=0;
break;
}
否则的话,只要判断S2中第一个字母"j"在S1中存在,就会打印出"j"及其后面的三个字母.
if( s1.charAt(i+j)!=s2.charAt(j))
flag=0;
break;
应该改为:
if( s1.charAt(i+j)!=s2.charAt(j)){
flag=0;
break;
}
否则的话,只要判断S2中第一个字母"j"在S1中存在,就会打印出"j"及其后面的三个字母.
解决方案 »
- 用C/S结构做一个项目,为了减少对数据库的访问次数,需要启动项目时把数据存起来放到内存里,供以后使用,请问放到内存里的方式有哪些? 3q~
- include小问题
- 客户端 服务端 实现MP3文件的传输???
- float形的988871.00转成988,871.00的程序
- 为什么jcreator3.5装了用不了!! 急求解决!!
- 那位高手能给我解答以下 谢谢了
- 我做了个聊天室程序,当我在向里面加图片时有点问题,我想加入本地images里面的图片可是用ImageIcon()只可以获取和.class文件同一目录的
- Listner 的这是什么格式?
- 哪里可以下JSP的中文文档及相关资料
- 这样获得web server 的IP地址?
- 关于bean的实例化的问题
- 请问:Timestamp怎么转换成String型变量的
public static void main(String[] args){
String s1="asdf(java)asd(java)(java)jvaasdjav";
String s2="java";
int i,j,flag;
for(i=0;i<s1.length()-s2.length();i++){
flag=1;
for(j=0;j<s2.length();j++){
if( s1.charAt(i+j)!=s2.charAt(j))
flag=0;
//break;
}
if(flag==1)
System.out.println("find at "+i+" :"+s1.charAt(i)+s1.charAt(i+1)+s1.charAt(i+2)
+s1.charAt(i+3));
}
}
}
public static void main(String[] args){
String s1="asdf(java)asd(java)(java)jvaasdjav";
String s2="java";
int i,j,flag;
for(i=0;i<s1.length()-s2.length();i++){
flag=1;
for(j=0;j<s2.length();j++){
if( s1.charAt(i+j)!=s2.charAt(j))
flag=0;
}
if(flag==1)
System.out.println("find at "+i+" :"+s1.substring(i,i+4));
}
}
}推荐用substring方法做输出