I have this Java code it's supposed to take in a user input and reverse it and then print it reversed so if i enter Hello There it's supposed to print out ereth olleh or something like that. just the phrase backwards and a while loop is supposed to make sure that it keeps running back and doing the same thing over again until the user enters Done, done or d at which point the input is not to be printed so user input is hi the first time, and the user input is hello the second time and if its done the third time  ih olleh   are supposed to be printed but unfortunately the code i have bellow frequently throws up erros and prints the done which it should not do.  what am i doing wrong?   import java.util.Scanner; public class LabProgram {    public static void main(String[] args) {       Scanner scnr = new Scanner(System.in);       String stringman;       stringman = "Hello There";              if (stringman == "done")          {          System.exit(0);          }       else{       while (stringman != "done")       {                         StringBuilder input2 = new StringBuilder();          input2.append(stringman);          input2.reverse();          System.out.println(input2);          stringman = scnr.next();                          }       }                  } }

C++ Programming: From Problem Analysis to Program Design
8th Edition
ISBN:9781337102087
Author:D. S. Malik
Publisher:D. S. Malik
Chapter5: Control Structures Ii (repetition)
Section: Chapter Questions
Problem 19PE
icon
Related questions
Question
100%

I have this Java code

it's supposed to take in a user input and reverse it and then print it reversed

so if i enter Hello There

it's supposed to print out ereth olleh or something like that. just the phrase backwards

and a while loop is supposed to make sure that it keeps running back and doing the same thing over again until the user enters Done, done or d at which point the input is not to be printed

so user input is hi the first time, and the user input is hello the second time and if its done the third time 

ih

olleh  

are supposed to be printed but unfortunately the code i have bellow frequently throws up erros and prints the done which it should not do.  what am i doing wrong?

 

import java.util.Scanner;

public class LabProgram {
   public static void main(String[] args) {
      Scanner scnr = new Scanner(System.in);
      String stringman;
      stringman = "Hello There";
      
      if (stringman == "done")
         {
         System.exit(0);
         }
      else{
      while (stringman != "done")
      {
        
        
      StringBuilder input2 = new StringBuilder();
         input2.append(stringman);
         input2.reverse();
         System.out.println(input2);
         stringman = scnr.next();
         
        
      }
      }
      
      
   }
}

Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 3 steps with 1 images

Blurred answer
Follow-up Questions
Read through expert solutions to related follow-up questions below.
Follow-up Question

Thank you so much

This works absolutely great it got rid of the errors  and doesnt print any done

but what do i do if i need  the phrase "Hello There" 

to print as "ereht olleH"

and then when it goes through the loop for another input for it to print a yeH bellow in reverse. so then I have an a total output of

"ereht olleH"

"yeH"

how do i do that?

Solution
Bartleby Expert
SEE SOLUTION
Knowledge Booster
Random Class and its operations
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
C++ Programming: From Problem Analysis to Program…
C++ Programming: From Problem Analysis to Program…
Computer Science
ISBN:
9781337102087
Author:
D. S. Malik
Publisher:
Cengage Learning