Public class continue with labeldemo{
Public static void main (string[]args){
string searchMe="look for a substring in me";
string substring="subs";
booleadn foundIt=false;
int max=searchMe.length()-substring.length();
test:
for(int i=0;i<=max;i++){
int n=substring.length();
int i=j;
int k=0;
while(n--!=0){
if(searchMe.charAt(j++)!=substring.charAt(k++)){
continue test;//跳出FOR循环而不是跳出WHILE循环}
}
foundIt=true;//跳出整个循环
break test;
system.out.println(foundIt?"Found it":"Didn't fount it";)
}
}
这是实现子串查询的功能,但是我不明白的是那句foundIt=true那句,如果查找未成功的话是怎么跳过去的呢?我对标签不太了解,C++中没有标签吧???
Public static void main (string[]args){
string searchMe="look for a substring in me";
string substring="subs";
booleadn foundIt=false;
int max=searchMe.length()-substring.length();
test:
for(int i=0;i<=max;i++){
int n=substring.length();
int i=j;
int k=0;
while(n--!=0){
if(searchMe.charAt(j++)!=substring.charAt(k++)){
continue test;//跳出FOR循环而不是跳出WHILE循环}
}
foundIt=true;//跳出整个循环
break test;
system.out.println(foundIt?"Found it":"Didn't fount it";)
}
}
这是实现子串查询的功能,但是我不明白的是那句foundIt=true那句,如果查找未成功的话是怎么跳过去的呢?我对标签不太了解,C++中没有标签吧???
解决方案 »
- 通过数据库连接池连接Mysql的问题
- 如何把ImageIcon保存到sql2000中
- 我刚装了netBeans4.1,在java类里中文显示乱码?
- 我也散点分吧
- 就是要做个大学生就业咨询管理系统课程1.实现毕业生专业信息的维护求源代码 2. 方便的实现对人才需求信息的检索设计,用JAVA编写!求大神指教,您帮帮忙 !我
- 用java应该怎么从数据库中读数据到图形界面呀(用单独javabean连接吗) 触摸屏软件开发(旅游方面的)急!急!! 高手来吧 大家up有分且
- 诚聘软件开发工程师(上海)
- java中父类的private变量通过set,get操作的问题
- 菜鸟求救
- 关于邮件服务器如何自动分配帐号和密码?
- 关于打jar的问题
- 求:JAVA网络编程 文件传输带GUI 的例子
这句不是控制循环是否继续,它只是保存循环结束后是否找到了。
如果没有查找成功,是由continue test直接跳过了fondIt=true一句。只有while做完,即查找成功,才会执行fondIt=true一句,则整个算法完成了。
continue extends labeldemo
顺便说一句,你的程序是java程序,但里面错误多多。你没有编译连接运行以下试试吗,编译你都通不过的,不过算法的思路是对的,只要把语法错误改了,就行了。下面是我给你改过的:
public class test {
public static void main(String[] arg) {
String searchMe="look for a substring in me";
String substring="subss";
boolean foundIt=false;
int max=searchMe.length()-substring.length();
test:
for(int i=0;i<=max;i++){
int n=substring.length();
int j=i;
int k=0;
while(n--!=0){
if(searchMe.charAt(j++)!=substring.charAt(k++))
continue test;//跳出FOR循环而不是跳出WHILE循环
}
foundIt=true;//跳出整个循环
break;// test;
}
System.out.println(foundIt?"Found it":"Didn't fount it");
}
}
public class test {
public static void main(String[] arg) {
String searchMe="look for a substring in me";
String substring="subs";
boolean foundIt=false;
for(int i=0; i<searchMe.length()-substring.length() && !foundIt; i++) {
boolean all=true;
for(int j=0; j<substring.length() && all; j++)
if(searchMe.charAt(i+j)!=substring.charAt(j)) all=false;
foundIt=all;
}
System.out.println(foundIt?"Found it":"Didn't fount it");
}
}
看来以前学过的数据结构在这方面可以用上了