This site requires JavaScript, please enable it in your browser!
Greenfoot back
JJ24
JJ24 wrote ...

2020/4/21

How to reverse String?

JJ24 JJ24

2020/4/21

#
I am trying to reverse a String input by the user. I don't think I am far off but I have been stuck for awhile and can't figure out a solution.[Disallowed URL]
JJ24 JJ24

2020/4/21

#
1
2
3
4
5
6
7
8
9
10
11
12
13
public void act()
    {
        String user=Greenfoot.ask("Input a word or phrase");
       int index=0;
        
        while(index>=-user.length()-1)
        {
            showText(user.substring(-user.length(),user.length()),300,200);
             
            index=index-1;
        }
        Greenfoot.stop();
    }
danpost danpost

2020/4/21

#
JJ24 wrote...
<< Code Omitted >>
Using while is not best here. showText should only be used once after the sting is reversed. There are several ways to reverse a string. The easiest is probably by using the java.lang.StringBuilder class:
1
2
3
4
5
6
7
8
9
10
11
public void act()
{
    String user = Greenfoot.ask("Input a word or phrase);
    if (user != null)
    {
        StringBuilder sb = new StringBuilder(user);
        sb.reverse();
        showText(sb, 300, 200);
    }
    Greenfoot.stop();
}
danpost danpost

2020/4/21

#
Ways to reverse it yourself might include:
1
2
String resu = "";
for (char c : user) resu = c+resu;
or
1
2
String resu = "";
for (int i=user.length()-1; i>=0; i--) resu += user.charAt(i);
("resu" is "user" backwards, if you were wondering)
You need to login to post a reply.