package GC;
import java.util.Scanner;
public class main {
public static void main(String args[]) {
Scanner input = new Scanner(System.in);
System.out.println("Calculate exam grade needed(e) or final grade received(f)?");
String x = input.nextLine();
if (x == "e"){
double q1, q2, f, e;
Scanner inputa = new Scanner(System.in);
Scanner inputb = new Scanner(System.in);
Scanner inputc = new Scanner(System.in);
System.out.print("Quarter 1: ");
q1 = inputa.nextInt();
System.out.print("Quarter 2: ");
q2 = inputb.nextInt();
System.out.print("Final grade wanted: ");
f = inputc.nextInt();
e = 5*(f-0.4*(q1)-0.4*(q2));
if(e == (int)e){
System.out.println((int)e);
}
else{
e = 0.01*((int)(e*100));
System.out.println(e);
}
}
else if (x == "f"){
}
else{
System.out.println("ERROR");
}
}
}
最初にeを入力しても、必ずelse文に進みます。私はユーザー入力または私のifパラメータからStringを得ることに何か問題があったかもしれません。私は何が欠けていますか?私のコードはいつもelseステートメントに行きますか?
( "E" .equals(X)){... – Osw
が読んしようとした場合http://stackoverflow.com/questions/703396/how-to-nicely-format-floating-types-to-文字列とhttp://docs.oracle.com/javase/6/docs/api/java/lang/Math.html – ShinTakezou