I have a vector which contains the following data (just an example of what the vector contains below:- [J46, J53B0907, J54B0907/1, J78, J6JT4567] I want to be able to replace the J characters (the first character after each comma) with K characters. It wouldnt be possible to do a global replace on the letter J as J may appear after the first character (as shown near the end). I have no idea how to do this, would anybody like to help a student out?
Well, student ... all you need to do is iterate through the elements in your Vector, checking the first character of each String. If it is a "J" replace it with whatever you want, and set the Vector element accordingly. If you're looking for some actual code here, look up the API docs and work through it. You'll much faster hacking through it yourself.
As a teacher, I like this problem, because it tests a couple of concepts. One, you have to be aware of the immutability of Strings. Two, you have to understand how to add and remove items from a Vector: simply add to the vector won't do the trick. Three, you have to demonstrate some mastery String manipulation. This should be a good learning experience. I would start small. First, modify the first J in a String: and make sure you don't modify subsequent 'J's. Next, modify the first J in an Array of Strings. Finally, adjust the vector so it holds the modified data. Best regards, M
Im totally not getting the documentation (Sun's just confuses me) and books that I've looked. I've been trying to do the following:- x.substring(1,3).replace("t", "k"); where x is a String = "Standing" But I keep getting the following error replace(char,char) in java.lang.String cannot be applied to (java.lang.String,java.lang.String) x.substring(1,3).replace("t", "k"); ^ Removing the substring doesnt help. Please help me.
Hi Luke It says replace(char, char) in java.lang.String CAN'T BE aplied to replace(String, String) right? That means, in String class there is no method replace() having two Strings as argument. It needs two characters. So try, x.substring(1,3).replace('t','k'); and that should work. also, don't forget that x is a string hence non-mutable so you have to do, x = x.substring(1,3).replace('t','k'); if u want to update value of variable x . It will not automatically assign the replace operation's outcome to variable x. Regards Maulin