Why does my code skip straight to the else statement? It returns the values inputted correctly if asked. But cant figure out why it just skips to "ERROR!" as opposed to proceeding to the relevant calculator. Here is my code:
package easy2;
import java.util.Scanner;
public class Calculator {
public static void main(String[] args) {
float force, mass, acc;
String answer = null;
Scanner in = new Scanner(System.in);
System.out.println("Force = Mass x Acceleration Calculator");
System.out.println("Please state which variable you wish to work out: force, mass or acceleration");
answer = in.nextLine();
if(answer == "force"){
System.out.println("What is your mass in killograms?");
mass = in.nextFloat();
System.out.println("What is your acceleration in meters per second?");
acc = in.nextFloat();
force = mass * acc;
System.out.println("The force of this equation in Netwon Meters is " + force);
}
else if(answer == "mass") {
System.out.println("What is your force in Newton Meters?");
force = in.nextFloat();
System.out.println("What is your acceleration in meters per second?");
acc = in.nextFloat();
mass = force / acc;
System.out.println("The mass of this equation is equal to " + mass + "kg");
}
else if(answer == "acceleration"){
System.out.println("What is your force in Newton Meters?");
force = in.nextFloat();
System.out.println("What is your mass in killograms?");
mass = in.nextFloat();
acc = force / mass;
System.out.println("The acceleration of this equation equals " + acc + "m/s");
}
else{System.out.println("ERROR!");
}
}
}