Java에서 indexOf로 어떻게 계산할 수 있습니까?

솔리

String에서 교체하고 교체 횟수를 인쇄하고 싶습니다.

예)
입력 : aabba
from : aa
to : bb
ddbba replacement
: 1

입력 : AAccaabbaaaaatt
from : aa
to : bb
ddccddbbddddatt
대체 됨 : 4

여기에 문제가 있습니다.

for (int i = 0; i < input.length(); i++) {
        if (inputL.indexOf(curStrL, i) > -1) {
            cnt++;
            i = (inputL.indexOf(curStrL, i))+1; // this part!
        } else
            continue; 
    } // for

선생님은 사용하는 것을 .indexOf.replace.toLowerCase을 .

그녀는 몇 가지 예를 들었고 항상 두 글자를 두 글자로 바꿉니다. 그래서 다른 글자를 찾기 위해 '+1'을 입력했습니다. 그 '+1'을 제거하면 'aaa'가 두 번 계산됩니다. (aa a와 aa. 그리고 'dda'로 바뀌었기 때문에 틀 렸습니다.)하지만 이번에는 한 글자 만 바꾸면 (ex.a) , 실제 필요한 것보다 적은 수를 계산합니다. (예 : 'aaa'는 두 번만 계산됩니다.)

교사의 예에서는 모두 두 글자를 대체하기 때문에 잘 작동합니다. 그러나 나는 이것을 개선하고 싶다.

내 코드는 모두 다음과 같습니다.

public static void main(String[] args) {
    Scanner scan = new Scanner(System.in);

    while (true) {
        System.out.print("Input : ");
        String input = scan.next();
        System.out.print("from : ");
        String curStr = scan.next();
        System.out.print("to : ");
        String chStr = scan.next();

        String inputL = input.toLowerCase();
        String curStrL = curStr.toLowerCase();
        String chStrL = chStr.toLowerCase();

        String output = inputL.replace(curStrL, chStrL);

        int cnt = 0;
        if (inputL.indexOf(curStrL) == -1) {
            System.out.println("Do it again");
        } else
            System.out.println(output);

    for (int i = 0; i < input.length(); i++) {
        if (inputL.indexOf(curStrL, i) > -1) {
            cnt++;
            i = (inputL.indexOf(curStrL, i))+1; 
            // *** to make the code find from the next letter! ***
        } else
            continue; 
    } // for

        if (cnt > 0)
            System.out.println("replaced : " + cnt);
        else
            {System.out.println("can't replace. Do it again");
            break;}

        System.out.println("----------------");

    } // while
} // main
Shraft

교체 할 문자열의 길이로 루프의 카운터 변수를 늘리십시오.

for (int i = 0; i < input.length(); i++) {
            if (inputL.indexOf(curStrL, i) > -1) {
                cnt++;
                i = (inputL.indexOf(curStrL, i));  // EDIT by Shraft
                i = i + curStr.length() - 1;       // EDIT
                // *** to make the code find from the next letter! ***
            } else
                continue; 
        } // for

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

이 계산을 C #에서 어떻게 할 수 있습니까?

분류에서Dev

Vuejs에서 어떻게 계산할 수 있습니까?

분류에서Dev

SVG 좌표에서 어떻게 계산할 수 있습니까?

분류에서Dev

C에서 정수 지수 모듈로 상수를 어떻게 계산할 수 있습니까?

분류에서Dev

이 프로그램이 Python에서 실행 된 횟수를 어떻게 계산할 수 있습니까?

분류에서Dev

파이썬에서 숫자 모듈로 목록을 어떻게 계산할 수 있습니까?

분류에서Dev

특정 평균으로 분산을 어떻게 계산할 수 있습니까?

분류에서Dev

Laravel의 json 값에서 점수를 어떻게 계산할 수 있습니까?

분류에서Dev

Excel로 들어오는 숫자를 어떻게 계산할 수 있습니까?

분류에서Dev

JSON 파일에서 특정 계산을 어떻게 할 수 있습니까?

분류에서Dev

SwiftUI에서 @ViewBuilder 뷰를 어떻게 계산할 수 있습니까?

분류에서Dev

파일에서이 계산을 어떻게 할 수 있습니까?

분류에서Dev

하이브에서 주일을 어떻게 계산할 수 있습니까?

분류에서Dev

이 방정식에서 A를 어떻게 계산할 수 있습니까?

분류에서Dev

Excel의 PowerPivot에서 잔액을 어떻게 계산할 수 있습니까?

분류에서Dev

Excel에서 고유 값을 어떻게 계산할 수 있습니까?

분류에서Dev

10 진수로 숫자를 어떻게 계산할 수 있습니까?

분류에서Dev

QT에서 QFile로 어떻게 작업 할 수 있습니까?

분류에서Dev

JavaScript로 data2.length를 어떻게 계산할 수 있습니까?

분류에서Dev

Java에서이 경로를 어떻게 설정할 수 있습니까?

분류에서Dev

JFrame에서 Java 클래스로 어떻게 전환 할 수 있습니까?

분류에서Dev

큰 n에 대해 2 ^ n을 어떻게 계산할 수 있습니까?

분류에서Dev

비동기 관계를 기반으로 Ember 데이터 모델에서 Ember.js 계산 속성을 어떻게 할 수 있습니까?

분류에서Dev

r에서 문자 변수의 합계를 어떻게 계산할 수 있습니까?

분류에서Dev

CPU 코어 수는 어떻게 계산할 수 있습니까?

분류에서Dev

MySQL에서 게시물의 댓글 및 좋아요 수를 어떻게 계산할 수 있습니까?

분류에서Dev

tox로 $ PATH에 어떻게 추가 할 수 있습니까?

분류에서Dev

PHP로 mysql에서 산술 연산자로 값을 어떻게 저장할 수 있습니까?

분류에서Dev

파이썬에서 음수 값에 대한 지수를 어떻게 계산할 수 있습니까?

Related 관련 기사

  1. 1

    이 계산을 C #에서 어떻게 할 수 있습니까?

  2. 2

    Vuejs에서 어떻게 계산할 수 있습니까?

  3. 3

    SVG 좌표에서 어떻게 계산할 수 있습니까?

  4. 4

    C에서 정수 지수 모듈로 상수를 어떻게 계산할 수 있습니까?

  5. 5

    이 프로그램이 Python에서 실행 된 횟수를 어떻게 계산할 수 있습니까?

  6. 6

    파이썬에서 숫자 모듈로 목록을 어떻게 계산할 수 있습니까?

  7. 7

    특정 평균으로 분산을 어떻게 계산할 수 있습니까?

  8. 8

    Laravel의 json 값에서 점수를 어떻게 계산할 수 있습니까?

  9. 9

    Excel로 들어오는 숫자를 어떻게 계산할 수 있습니까?

  10. 10

    JSON 파일에서 특정 계산을 어떻게 할 수 있습니까?

  11. 11

    SwiftUI에서 @ViewBuilder 뷰를 어떻게 계산할 수 있습니까?

  12. 12

    파일에서이 계산을 어떻게 할 수 있습니까?

  13. 13

    하이브에서 주일을 어떻게 계산할 수 있습니까?

  14. 14

    이 방정식에서 A를 어떻게 계산할 수 있습니까?

  15. 15

    Excel의 PowerPivot에서 잔액을 어떻게 계산할 수 있습니까?

  16. 16

    Excel에서 고유 값을 어떻게 계산할 수 있습니까?

  17. 17

    10 진수로 숫자를 어떻게 계산할 수 있습니까?

  18. 18

    QT에서 QFile로 어떻게 작업 할 수 있습니까?

  19. 19

    JavaScript로 data2.length를 어떻게 계산할 수 있습니까?

  20. 20

    Java에서이 경로를 어떻게 설정할 수 있습니까?

  21. 21

    JFrame에서 Java 클래스로 어떻게 전환 할 수 있습니까?

  22. 22

    큰 n에 대해 2 ^ n을 어떻게 계산할 수 있습니까?

  23. 23

    비동기 관계를 기반으로 Ember 데이터 모델에서 Ember.js 계산 속성을 어떻게 할 수 있습니까?

  24. 24

    r에서 문자 변수의 합계를 어떻게 계산할 수 있습니까?

  25. 25

    CPU 코어 수는 어떻게 계산할 수 있습니까?

  26. 26

    MySQL에서 게시물의 댓글 및 좋아요 수를 어떻게 계산할 수 있습니까?

  27. 27

    tox로 $ PATH에 어떻게 추가 할 수 있습니까?

  28. 28

    PHP로 mysql에서 산술 연산자로 값을 어떻게 저장할 수 있습니까?

  29. 29

    파이썬에서 음수 값에 대한 지수를 어떻게 계산할 수 있습니까?

뜨겁다태그

보관