Java 为什么我的代码会跳过if语句?
我正在发布一段我遇到麻烦的较大代码块。它应该自己运行。为了进行测试,只需在第一个提示符处输入一个。一旦运行print语句,程序就会终止,而不是请求变量。我不明白为什么。有人能帮我吗Java 为什么我的代码会跳过if语句?,java,if-statement,java.util.scanner,user-input,Java,If Statement,Java.util.scanner,User Input,我正在发布一段我遇到麻烦的较大代码块。它应该自己运行。为了进行测试,只需在第一个提示符处输入一个。一旦运行print语句,程序就会终止,而不是请求变量。我不明白为什么。有人能帮我吗 import java.util.Scanner; public class Physics { public static void main(String[] args) { Scanner input = new Scanner(System.in); int switchNumber;
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);
}
}
}
}
谢谢大家的帮助 当您输入a 1时,它是否也会终止程序 当: 用开关试试:
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();
switch (switchNumber){
case 1: System.out.println("Tell me which variable you'd like to solve for.");
variableCaseOne = input.next();
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);
}
case 2 : // your next case
}
}
Andrea Bori答案是解决您问题的主要方法
当您输入a 1时,它是否也会终止程序 当: 用开关试试:
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();
switch (switchNumber){
case 1: System.out.println("Tell me which variable you'd like to solve for.");
variableCaseOne = input.next();
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);
}
case 2 : // your next case
}
}
Andrea Bori答案是解决您问题的主要方法
当您输入a 1时,它是否也会终止程序 当: 用开关试试:
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();
switch (switchNumber){
case 1: System.out.println("Tell me which variable you'd like to solve for.");
variableCaseOne = input.next();
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);
}
case 2 : // your next case
}
}
Andrea Bori答案是解决您问题的主要方法
当您输入a 1时,它是否也会终止程序 当: 用开关试试:
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();
switch (switchNumber){
case 1: System.out.println("Tell me which variable you'd like to solve for.");
variableCaseOne = input.next();
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);
}
case 2 : // your next case
}
}
Andrea Bori答案是解决您问题的主要方法
如果我理解正确,试着改变 variableCaseOne=input.nextLine() 到 variableCaseOne=input.next() 它对我有用 snpt
如果我理解正确,试着改变 variableCaseOne=input.nextLine() 到 variableCaseOne=input.next() 它对我有用 snpt
如果我理解正确,试着改变 variableCaseOne=input.nextLine() 到 variableCaseOne=input.next() 它对我有用 snpt
如果我理解正确,试着改变 variableCaseOne=input.nextLine() 到 variableCaseOne=input.next() 它对我有用 snpt 可能的重复可能的重复可能的重复可能的重复