Question: You can see that the program is finding the first two occurrences of abc but not the third. The while loop is breaking without finding

You can see that the program is finding the first two occurrences of abc but not the third. The while loop is breaking without finding this occurrence. So we know that when the variable index is updated after finding the second occurrence of abc at index 30, it must be updated either to -1 or to something greater than or equal to the length of input 3. Lets see which it is.

Add a print statement. You might find it helpful to distinguish this from the print statement you added earlier so you can more easily see which is the index before updating and which is the index after. For example, you might do something like:

 

1

2

3

System.out.println("index " + index);

//code

System.out.println("index after updating " + index);

What is the value of index after updating for the last time?

public void findAbc(String input){ int index = input.indexOf("abc"); while (true){ if (index == -1 || index >= input.length() - 3){ break; } String found = input.substring(index+1, index+4); System.out.println(found); index = input.indexOf("abc",index+4); } }

public void test(){ //findAbc("abcd"); findAbc("abcdabc"); }

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!