利用字符数组判断……我编写的是
import java.util.Scanner;
public class Chazhao
{
public static boolean chazhao(String str1,String str2)
{
char[] a = str1.toCharArray();
char[] b = str2.toCharArray();
int L1 = str1.length();
int L2 = str2.length();
for (int i = 0;i <= L1; i++)
{
for (int j = 0;j <= L2 ; j++ )
{
int k = i + j;
if (b[j] == a[k] && j== L2)
{
return true;
}
if (b[j] == a[k] || j != L2)
{
continue;
}
if (b[j] != a[k])
{
break;
}
}
if (i == L1-L2)
{
return false;
}
}
return false;
}
public static void main(String[] args)
{
System.out.println("请输入原始字符串");
Scanner input1 = new Scanner(System.in);
String str1 = input1.nextLine();
System.out.println("请输入要查找的字符串");
Scanner input2 = new Scanner(System.in);
String str2 = input2.nextLine();
boolean h = chazhao(str1,str2);
if (h)
{
System.out.println(str1 + "中含有" + str2);
}
else
{
System.out.println(str1 + "中没有" + str2);
}
}
}
可以编译,不能运行……
拜求高手告诉我,逻辑哪里有错误……或者写个类似的……
我刚学习java 3周……
------解决方案--------------------
这是我刚写的,你看看顶用么,我也没完全地测试可能有bug
- Java code
import java.util.Scanner;public class Chazhao{ /** * * @param str1 str1表示被查询的序列 * @param str2 str2表示查询的序列 * @return */ public static boolean chazhao(String str1,String str2){ boolean result=false; char[] a = str1.toCharArray(); char[] b = str2.toCharArray(); int L1 = str1.length(); int L2 = str2.length(); if(L2>L1) return false; for (int i = 0;i < L1; i++){ if(a[i]==b[0]&&i<=(L1-L2)){//寻找第一个匹配索引 System.out.println("第一个匹配索引"+i); boolean flag=true; for(int j=0;j<L2;j++){ if(b[j]!=a[i+j]){ flag=false; continue; } if(j==(L2-1)&&flag){ //遍历b字符数组,每个对匹配对应a的字符 //说明存在匹配的序列 return true; } } } } return false; } public static void main(String[] args){// System.out.println("请输入原始字符串");// Scanner input1 = new Scanner(System.in);// String str1 = input1.nextLine();// System.out.println("请输入要查找的字符串");// Scanner input2 = new Scanner(System.in);// String str2 = input2.nextLine();// boolean h = chazhao(str1,str2);// if (h)// {// System.out.println(str1 + "中含有" + str2);// }// else// {// System.out.println(str1 + "中没有" + str2);// } System.out.println(""+chazhao("中国足球,何日出头",","));; }}