Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用char数组查找没有字符串方法的子字符串?_Java_String_Algorithm - Fatal编程技术网

Java 如何使用char数组查找没有字符串方法的子字符串?

Java 如何使用char数组查找没有字符串方法的子字符串?,java,string,algorithm,Java,String,Algorithm,不允许使用任何内置函数,如字符串类的indexOf()、contains()或matches() 使用给定的字符数组在字符串webapple中查找字符串apple String webapple ="webapple"; String apple="apple"; char[] webappleArray=webapple.toCharArray(); char[] appleArray = apple.toCharArray(); 写一个函数 public boolean isPresent

不允许使用任何内置函数,如字符串类的
indexOf()
contains()
或matches()

使用给定的字符数组在字符串webapple中查找字符串apple

String webapple ="webapple";
String apple="apple";
char[] webappleArray=webapple.toCharArray();
char[] appleArray = apple.toCharArray();
写一个函数

public boolean isPresent(char[] apple ,char[] webapple ){
    //your code here 
}

我在这里添加它,以防有人真的需要它或想从中学习:

public static void main(String[] args) {
    String webapple = "webapple";
    String apple = "apple";
    char[] webappleArray = webapple.toCharArray();
    char[] appleArray = apple.toCharArray();
    System.out.println(isPresent(appleArray, webappleArray));
}

public static boolean isPresent(char[] apple, char[] webapple) {
    for (int i = 0; i < webapple.length - apple.length+1; i++) {
        for (int j = 0; j < apple.length; j++) {
            if (webapple[i + j] == apple[j]) {
                if (j == apple.length - 1) {
                    return true;
                }
            } else {
                break;
            }
        }
    }
    return false;
}
publicstaticvoidmain(字符串[]args){
字符串webapple=“webapple”;
字符串apple=“apple”;
char[]webapplarray=webapple.toCharArray();
char[]applarray=apple.toCharArray();
System.out.println(isPresent(applarray,webapplarray));
}
公共静态布尔值isPresent(char[]apple,char[]webapple){
对于(inti=0;i
你被问到了那个面试问题。@JasonC不是重复的,因为这里的indexof不是allowed@user1659644然后运用你的编程技巧,找出逻辑,一旦你尝试了一些东西,当你遇到一个特定的问题时,请随时回到这里询问。如果你甚至不能自己尝试,那么你可能会考虑面试一种不同类型的工作。我不认为你挣扎,我看到你钓鱼的问题,你可以自己解决。最好的算法找到一个文本存在或不存在于一个文本,是HOOSPOL算法。我知道你可能会要求你的家庭作业或面试,检查谷歌的“它是如何工作的”,“你怎么能用Java写”,简单地说:做点努力。我不希望他“在地狱里燃烧”,但我确实希望他写的一些软件终有一天会因为稳定性和可用性问题而让你沮丧。你的回答对提问者造成了极大的伤害。@JasonC-你在互联网上发现了很多很多没有答案的问题,这比那些没有机会实际编程的坏人更令人沮丧。如果从一开始就给出更有意义和持久的答案,你在互联网上会发现问题少得多。像你这样的答案正是为什么OP在这里没有学习到基本的问题解决技能(至少你只是向他展示了
for
循环的功能)之后,将来会问另一个未回答的问题。事实上,如果他们问的是stackoverflow上没有回答的答案(至少在流行的或类似的问题中,这个问题不是)撇开我的意见不谈,如果你相信是这样的话,考虑编辑OP的问题,给它一个更具描述性的标题,这样其他人可以在将来找到它,而不是重新寻找同一个问题。如果你正在寻求改善社区的任务,要么走一条路,要么不麻烦。