2014-10-20 2 views
-1

할당으로 우리는 문자열 메서드가 수행하는 작업을 복사하는 메서드를 만들어야합니다. 우리는 방법을 배우는 중일 뿐이며 이해하지만, 제대로 작동시키지 못합니다. 주어진 : private String st = "";Noob, 문자열 메서드의 indexof 및 substring 만들기

public void setString(String p){ 
     st = p; 
    } 

    public String getString(){ 
     return st; 
    } 

이 난에 정상적으로 수 charAt을했고, 동일하지만 도움이 필요했습니다 public int indexOf(char index){}를 작성해야하고, public String substring(int start, int end){}. String 메소드 charAt() 및 length() 및 + 연산자 만 사용할 수 있습니다. 어레이가 없거나 더 발전된 것도 있습니다. 이 방법을 사용하면 다음과 같은 방법으로 시작할 수 있습니다.

public int indexOf(char index){ 
     for(int i = 0; i < st.length(); i++){ 
      return index; 
     } 
     return 0; 
    } 

    public String substring(int start, int end){ 
     for(int i = 0; i < st.length(); i++){ 

     } 
     return new String(st + start); 
    } 

감사합니다.

여기 내 두 가지 작업 방법이다 : 당신의 indexOf 방법

public boolean equals(String index){ 
     for(int a = 0; a < index.length() && a < st.length(); a++){ 
      if(index.charAt(a) == st.charAt(a) && index.length() == st.length()){ 
       return true; 
      } 
      else{ 
       return false; 
      } 
     } 
     return false; 
    } 

public char charAt(int index){ 
     if(index >= 0 && index <= st.length() - 1) 
      return st.charAt(index); 
     else 
      return 0; 
    } 

답변

0

, 올바른 방향으로 가고있는 것입니다. 루프의 코드를 수정해야합니다. 전체 String을 반복하고 있으므로 String에서 문자를 가져 오는 데 가장 도움이되는 두 가지 메서드 만 사용할 수 있습니까? 다른 방법 (equalscharAt)을 살펴보고 어떻게했는지 보려면 힌트를 줄 수 있습니다. 기억해 두어야 할 점은 문자열에 단일 문자를 찾고 찾은 색인을 인쇄하고 싶다는 것입니다.

substring 방법의 경우 표시되는 모든 문자는 start부터 시작하여 end 색인까지 올라야합니다. 루프가 좋은 시작이지만 진도를 유지하려면 기본 문자열 String이 필요합니다 (빈 문자열이 필요합니다). 루프의 시작과 끝 지점을 살펴볼 필요가 있습니다. substring의 경우 start으로 시작하는 모든 것을 얻고 end 전의 모든 것을 얻고 싶습니다. 예를 들어 다음을 수행 할 경우 :

String myString = "Racecar"; 
String sub = myString.substring(1, 4); 
System.out.println(sub); 

결과물은 ace이어야합니다.

나는 당신에게 대답 할 것이지만, 나는 당신의 추론을 돕는 것이 당신에게 더 많은 이익을 줄 것이라고 생각합니다. 과제를 즐기십시오!

+0

고맙습니다. 인덱스를 알아내는 방법이 내가 시도한 것보다 더 쉬웠다. 자바를 영어로 번역하려고 시도하고 좋은 해결책을 써야한다는 것을 알게되었다. 단지 대답을 준 것에 감사한다. – Jack

+0

문제가되지 않는다! 다행히 도울 수있어. – sfedak