wood burning stoves 2.0*
The moose likes Beginning Java and the fly likes string reversal problem Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of OCM Java EE 6 Enterprise Architect Exam Guide this week in the OCMJEA forum!
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "string reversal problem" Watch "string reversal problem" New topic
Author

string reversal problem

Jules Strand
Greenhorn

Joined: Nov 12, 2003
Posts: 2
Hey,
Im quite new at java and im trying to very simply take in a string and spit it out the other way around in a function. Heres what i have so far:

All i get is no output, what am i doing wrong?
Ernest Friedman-Hill
author and iconoclast
Marshal

Joined: Jul 08, 2003
Posts: 24183
    
  34

Hi Jules,
Welcome to JavaRanch!
First of all, let me point out that while we don't have a lot of rules here at the Ranch, we do have our naming policy that requires youto use a not-obviously-fictional display name. Most folks round these parts just use their real names -- it keeps us honest. Please head over here and change your, pronto!
Now, as to your program: looking pretty good, actually. A few things I'd do:
  • Take the creation of reversedTextString out of the loop -- just create it once at the end, after the loop.
  • reverse() ought to return the String, but not print it; leave the printing up to main().
  • Speaking of main() -- it ought to call reverse(), yes? Probably using args[0], the first command-line argument, as the parameter.


  • [Jess in Action][AskingGoodQuestions]
    chi Lin
    Ranch Hand

    Joined: Aug 24, 2001
    Posts: 348
    while it is definitely a positive experience
    to implement function by yourself, API could
    be a good resources for other options available.
    check reverse() in StringBuffer class.
    I usually follow this procedure to check/verify my implementation.
    regards
    [ November 12, 2003: Message edited by: chi Lin ]

    not so smart guy still curious to learn new stuff every now and then
    Jules Strand
    Greenhorn

    Joined: Nov 12, 2003
    Posts: 2
    Hey again, tryed to do what you said but i admit i didnt quite understand everything you suggested.
    I tryed to change the code and now it looks like this:

    I now get this error saying that no entity called "reversedTextString" was found in the main enviroment. How do i tell it i just want to print out the value of reversedTextString in reverse() bit?
    All i want this to do is to spit out the text "Hello" backwards. Is there an easyer way of doing this with a string?
    Thanks for all your comments, il try and change my name now, didnt realise it would be my posting name.
    Jules
    Ernest Friedman-Hill
    author and iconoclast
    Marshal

    Joined: Jul 08, 2003
    Posts: 24183
        
      34

    Let's see. You're getting that error because you're trying to get main() to print out a variable that's not defined in main, but defined in reverse(). What you want to print out in main is the return value of calling reverse().
    For main to be calling reverse(), it would have to mention reverse(), yes? The same way that, for example, reverse() itself calls charAt(). i.e.,
    System.out.println(reverse(args[0]));
    I just noticed that reverse() is returning its argument, rather than returning reversedString, as it should.
    Again, you should be constructing the String outside the loop, afterwards, not inside.
    chi Lin
    Ranch Hand

    Joined: Aug 24, 2001
    Posts: 348
    some more changes,

    [ November 12, 2003: Message edited by: chi Lin ]
    Ernest Friedman-Hill
    author and iconoclast
    Marshal

    Joined: Jul 08, 2003
    Posts: 24183
        
      34

    chi lin --
    If you describe in words how to go about doing something, then you're helping the person learn. If you on the other hand just do their work for them, then they don't learn anything. Please refrain from doing this kind of edit-job in the future.
    chi Lin
    Ranch Hand

    Joined: Aug 24, 2001
    Posts: 348
    Ernest,
    I don't mean to mess with people's code or doing their job, just
    trying to pin-point out the problem on Jules' code as Jules seems
    has trouble follow "words" decscription closely at this stage.
    (a common syndrome observed on people that are not very experienced).
    Will be more careful with similar situation.
    [ November 12, 2003: Message edited by: chi Lin ]
    Dan Walin
    Ranch Hand

    Joined: Nov 11, 2003
    Posts: 109
    It seems that Jules comments say he moved the construction of the string outside of the loop but the code shows that he did not.

    {

    reversedText[i] = s.charAt(text.length() - i - 1); // change to s.charAt() reversedTextString = new String(reversedText); // move outside the loop
    }
     
    With a little knowledge, a cast iron skillet is non-stick and lasts a lifetime.
     
    subject: string reversal problem