0

I am trying to avoid the print statement execution if the user inputs a certain string. The code seems to execute regardless of the if else conditions

import java.util.Scanner;

public class LabProgram { public static void main(String[] args) {

  Scanner sc = new Scanner(System.in);
  String str ="";
  str = sc.nextLine();
  
  String reverse="";
  
  for(int i =str.length()-1;i>=0;i--)
  {
     reverse = reverse+str.charAt(i);
  }
  System.out.println(reverse);
  if (reverse == "!!!ym hO") {
     System.exit(1);
     } else {Scanner sc2 = new Scanner(System.in);
  String str2 ="";
  str2 = sc.nextLine();
  
  String reverse2="";
  
  for(int i =str2.length()-1;i>=0;i--)
  {
     reverse2 = reverse2+str2.charAt(i);
  }
  if (reverse2 == "enoD") {
     System.exit(2);
     } else{System.out.println(reverse2);
     
     Scanner sc3 = new Scanner(System.in);
     String str3 ="";
     str3 = sc.nextLine();
     String reverse3="";
     for(int i =str3.length()-1;i>=0;i--)
     {
     reverse3 = reverse3+str3.charAt(i);
     }
     if (reverse3 != "d" || ){
     System.out.println(reverse3);
  }
  }
  }
  
  

} }

I tried to get the code to reverse user inputted strings until coming accross "d" "done" or "enoD." Instead my code executes everything.

Budget
  • 11

0 Answers0