
-----------------------------------
mix12
Thu Nov 25, 2004 5:32 pm

My program does not work properly
-----------------------------------
My return method is not wokring properly
I have to do a school assignment.

There are 3 inputs, the first one is the main string, the second input is the substring and the 3rd input is the prefix

I have to make it so that every occurance of the substring within the main string has to have the prefix infront of it.
(Just if you are wondering, i am using the the HSA console)
This is the return method:

private static String prefix (String sentence, String word, String before)
    {
        int y = 0;
        int x = 0;
        String insert = "";
        String mid = "";
        String end = "";
        while (true)
        {
            if (sentence.charAt (y) == word.charAt (x))
            {
                while (true)
                {
                    if (word.charAt (x) != sentence.charAt (y)) 
                    {
                        break;
                    }
                    if (x == (word.length () - 1))
                    {
                        while (true)
                        {
                            int z = 0;
                            insert += sentence.charAt (z);
                            z++;
                            if (z == y)
                            {
                                break;
                            }
                        }
                        mid = before;
                        while (true)
                        {
                            int a = y;
                            end += sentence.charAt (a);
                            a++;
                            if (a == sentence.length () - 1)
                            {
                                break;
                            }
                        }
                    }
                    x++;
                    y++;
                }
            }
            x = 0;
            y++;
            if (y == sentence.length () - 1)
            {
                break;
            }
        }
        if (insert.length () < 1)
        {
            return sentence;
        }
        else 
        {
            return (insert + mid + end);
        }
    }

-----------------------------------
wtd
Thu Nov 25, 2004 7:29 pm


-----------------------------------
Using subString would help.

http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html#substring(int,%20int)

-----------------------------------
Hikaru79
Thu Nov 25, 2004 9:16 pm


-----------------------------------
So would using indexOf. If you have the Holt Java textbook (which you should, if you're using HSA), turn to page 180 and go from there =) Good luck. 

Oh, and use code tags. it makes:

System.out.println ("Use code tags!");

look like:

System.out.println ("Use code tags!");


-----------------------------------
zylum
Thu Nov 25, 2004 10:53 pm


-----------------------------------
if i understood the question correctly, i beleive that's a one liner:

return sentence.replaceAll(word, before+word);

-----------------------------------
wtd
Thu Nov 25, 2004 11:07 pm


-----------------------------------
if i understood the question correctly, i beleive that's a one liner:

return sentence.replaceAll(word, before+word);

I think that for the purpose of the exercise, he has to write the logic himself.

-----------------------------------
mix12
Sat Nov 27, 2004 9:11 am

Thank you, but....
-----------------------------------
return sentence.replaceAll works, but...
I am only allowed to use two string built-in methods -charAt() and length()

-----------------------------------
mix12
Sat Nov 27, 2004 9:31 am

I got it to work a bit more, just some left
-----------------------------------
It is almost finished but i still have to find the substring within the mainstring as many times as it occurs. 
I can find it once and put a perfix infront of it. 
But i can to find every occurance and out a prefix infront.

This is the new return method:

 private static String prefix (String sentence, String word, String before)
    {
        String insert = "";
        int y = 0;
        int x = 0;
        int z = 0;
        while (y != sentence.length () - 1)
        {
            while (insert.length () 