Unit Conversion Code(Solved)

So I need to write a program that converts different units of measurement(in, ft, mile, mm, cm, meter, and km), however whenever I run the code, it out prints the wrong values. After poking around the code a bit, I found that it's taking the wrong factor to multiply the value by, but i have no idea why. Any help is appreciated. Thanks

here is the code

``````import java.util.Scanner;

public class UnitConverter {

public static void main(String[] args)
{
double factor = 0;

Scanner in = new Scanner(System.in);
System.out.println("Convert from? -->  ");
String from = in.next();

Scanner in1 = new Scanner(System.in);
System.out.println("Convert to? -->  ");
String to = in1.next();

Scanner in2 = new Scanner(System.in);
System.out.println("Value? --> ");
int Value = in2.nextInt();

//meter to...
if (from.equals("meter") || to.equals("in")) {
factor = 39.3701;
} else if (from.equals("meter") || to.equals("foot")) {
factor = 3.28084;
} else if (from.equals("meter") || to.equals("mile")) {
factor = 0.000621371;
} else if (from.equals("meter") || to.equals("mm")) {
factor = 1000;
} else if (from.equals("meter") || to.equals("cm")) {
factor = 100;
} else if (from.equals("meter") || to.equals("km")) {
factor = 0.001;
//mm to...
} else if (from.equals("mm") || to.equals("in")) {
factor = 0.0393701;
} else if (from.equals("mm") || to.equals("foot")) {
factor = 0.00328084;
} else if (from.equals("mm") || to.equals("mile")) {
factor = 6.2137119e-7;
} else if (from.equals("mm") || to.equals("meter")) {
factor = 0.001;
} else if (from.equals("mm") || to.equals("cm")) {
factor = 0.1;
} else if (from.equals("mm") || to.equals("km")) {
factor = 0.000001;
//cm to...
} else if (from.equals("cm") || to.equals("in")) {
factor = 0.393701;
} else if (from.equals("cm") || to.equals("foot")) {
factor = 0.0328084;
} else if (from.equals("cm") || to.equals("mile")) {
factor = 6.2137e-6;
} else if (from.equals("cm") || to.equals("meter")) {
factor = 0.01;
} else if (from.equals("cm") || to.equals("mm")) {
factor = 10;
} else if (from.equals("cm") || to.equals("km")) {
factor = 0.00001;
//km to...
} else if (from.equals("km") || to.equals("in")) {
factor = 39370.1;
} else if (from.equals("km") || to.equals("foot")) {
factor = 3280.84;
} else if (from.equals("km") || to.equals("mile")) {
factor = 0.621371;
} else if (from.equals("km") || to.equals("meter")) {
factor = 1000;
} else if (from.equals("km") || to.equals("cm")) {
factor = 100000;
} else if (from.equals("km") || to.equals("mm")) {
factor = 1e+6;
//inches to...
} else if (from.equals("in") || to.equals("km")) {
factor = 2.54e-5;
} else if (from.equals("in") || to.equals("foot")) {
factor = 0.0833333;
} else if (from.equals("in") || to.equals("mile")) {
factor = 1.5783e-5;
} else if (from.equals("in") || to.equals("meter")) {
factor = 0.0254;
} else if (from.equals("in") || to.equals("cm")) {
factor = 2.54;
} else if (from.equals("in") || to.equals("mm")) {
factor = 25.4;
//foot to...
} else if (from.equals("foot") || to.equals("km")) {
factor = 0.0003048;
} else if (from.equals("foot") || to.equals("in")) {
factor = 12;
} else if (from.equals("foot") || to.equals("mile")) {
factor = 0.000189394;
} else if (from.equals("foot") || to.equals("meter")) {
factor = 0.3048;
} else if (from.equals("foot") || to.equals("cm")) {
factor = 30.48;
} else if (from.equals("foot") || to.equals("mm")) {
factor = 304.8;
//mile to...
} else if (from.equals("mile") || to.equals("km")) {
factor = 1.60934;
} else if (from.equals("mile") || to.equals("in")) {
factor = 63360;
} else if (from.equals("mile") || to.equals("foot")) {
factor = 5280;
} else if (from.equals("mile") || to.equals("meter")) {
factor = 1609.34;
} else if (from.equals("mile") || to.equals("cm")) {
factor = 160934;
} else if (from.equals("mile") || to.equals("mm")) {
factor = 1.609e+6;
}
System.out.println(Value + " " + from + " to " + to + " = " + (Value*factor));

}
``````

}