Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Categories

Newbie question: Why is the substring comparison not happening in line 30 ?

olcal28olcal28 IndiaMember Posts: 3
edited January 2016 in Java

Hi,
I have just started learning Java online. I have to search and print out multiple substrings which are part of a larger string. In the problem given I have to locate "classification:clocks", "classification:propellers", "classification:tools" but have to printout clocks, propellers, tools. I do not understand what I am doing wrong as there are no syntax errors. Why is the substring comparison not happening in line 12

public class LoopsPractice
{

    public static void main(String[] args)
    {

        String str = "We have a large range of goods in our storage falling in "
                + "the classification:clocks and "
                + "classification:propellers along with classification:tools and others"; // This is the input string

        printClassification(str);
    }

// Expected output is clocks
//                    propellers
//                    tools


    public static void printClassification(String str)
    {
        int endIndex = str.length();
        int currentIndex = 0;
        int spaceIndex = 0;

        while (currentIndex <= endIndex) // setup loop index range 
        {
            if((currentIndex+9) < endIndex) // test to prevent search for "classification:" from going beyond string length
            {
                System.out.println(str.substring(currentIndex, (currentIndex+9)));
                if (str.substring(currentIndex, (currentIndex+15)) == "classification:") // **Comparison not happening, why ?**
                {
                    System.out.println("xxx");
                    spaceIndex = currentIndex; // setup index to count characters until space character

                    while (str.substring(spaceIndex, (spaceIndex+1))!= " ")
                    {
                        spaceIndex = spaceIndex + 1;
                    }
                    System.out.println(str.substring(currentIndex, spaceIndex)); 
                }
            }
        currentIndex = currentIndex + 1;
        }
        System.out.println("All done");
    }
}
Tagged:

Answers

Sign In or Register to comment.