미치고 팔짝뛰겠다
내가 원하는건
첫번째: 어떤 문장의 입력을 임의로 키보드로 입력 받고
두번쨰: 찾고싶은 특정단어를 임의로 키보드로 입력받고
세번째: 키보드로 입력받은 문장과, 특정단어를 하나하나 쪼개버려서 각각의 다른 2개의 배열로 넣고
네번째: 입력받은 문장의 첫번째index와 특정단어의 첫번째 index가 일치하는지 확인
-일치하지 않을경우, 입력받은 문장 index+1
(문장을 쭉 훑으면서 특정단어의 첫번째 index와 일치하는지 계속 문장index++ 하면서 동작)
(문장에서 문장index==특정문자첫번째index일경우, 문장index+1==특정문자index+1인지도 확인)
* 이렇게 해서 아예 문장index들이 연속적으로 특정문자 index 전부와 일치했을경우 종료
예시
키보드로 입력한 문장:we are the handd and hi
키보드로 입력한 찾고싶은 특정단어:and (a나 n나 d 또는 handd처럼 and를포함한다고 해서 찾았다라는게 아니고 and 만 딱있는부분을 찾고싶음)
그래서 쓴게 아래거든
import java.util.Scanner; import java.util.regex.Pattern; import java.util.regex.Matcher; public class dd{ public static void main(String[] args){ Scanner in=new Scanner(System.in); //문자입력 String copyIn=in.nextLine(); String findWord=in.nextLine(); //입력한 문자를 담을 배열 String[] array_Sentence; String[] array_findWord; //배열에 한글자씩 저장하기 array_Sentence=copyIn.split(" ",-1); array_findWord=findWord.split(" ",-1); int castingSentence=Integer.parseInt(String.valueOf(array_findWord.length)); //문장자체가 특정문자를 포함하고 있을씨 아래의 반복문 실행 while(copyIn.contains(findWord)){ //패턴찾기 //참고: https://coding-factory.tistory.com/529 Pattern p=Pattern.compile(findWord); Matcher m=p.matcher(copyIn); //입력받은 문자의 길이 체크 int copyInLength=findWord.length(); //입력받은 문자가 있는지 체크 String misMatch="yes"; //시도횟수 int attemptK=0; //findWord.substring(0,findWord.length()-1)) //몇번째에 있는지 검산 for(int i=0; i<findWord.length(); i++){ for(int j=0; j<copyIn.length(); j++){ if(array_Sentence[j].equals(findWord.charAt(i))) { //여기서 막힘 } else { //여기서 막힘 i++; } } } //System.out.println(attemptK); } } } 그리고 내가 참고한 수도코드가 아래임
대체 어떻게 풀어야할까