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.