我發佈了一段較大的代碼段,我遇到了麻煩。它應該自行運行。爲了進行測試,只需在第一個提示處輸入一個即可。一旦它運行print語句,程序就會終止而不是詢問變量。我不明白爲什麼。有人能幫我嗎?爲什麼我的代碼跳過if語句?
import java.util.Scanner;
public class Physics {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int switchNumber;
String variableCaseOne;
double distance;
double initialVelocity;
double time;
double gravity;
System.out.println("This section is for projectile motion.");
System.out.println("Which equation would you like to use?");
System.out.println("1. Horizontal Equation: D = Vi * t");
System.out.println("2. Vertical Equation: D = Vi * t - (1/2)g * (t^2)");
switchNumber = input.nextInt();
if (switchNumber == 1) {
System.out.println("Tell me which variable you'd like to solve for.");
variableCaseOne = input.nextLine();
if (variableCaseOne.equals("d")) {
System.out.println("Enter the Initial velocity.");
initialVelocity = input.nextDouble();
System.out.println("Enter the time.");
time = input.nextDouble();
System.out.println("Distance equals: " + initialVelocity * time);
}
}
}
}
謝謝大家的幫助!
可能重複http://stackoverflow.com/questions/7056749/scanner-issue-when- using-nextline-after-nextxxx) – PakkuDon 2014-11-09 00:49:36