我的第一个任务是开发一个代码,允许用户输入他们希望行驶的距离(英里)、燃油效率和汽油成本的数据。然后创建一个代码以计算行程的总费用。
我拥有所有输入值的所有代码,但我在方程本身方面遇到了麻烦。 Java 无法识别“/”。我无法理解我在做什么,除非我需要添加更多代码才能使方程发挥作用。
import java.util.Scanner;
public class DrivingCost
{
public static void main(String args[])
{
Scanner s = new Scanner(System.in);
System.out.print("Please enter your distance (miles): ");
Scanner t = new Scanner(System.in);
System.out.print("Please enter vehicle's fuel efficiency (mpg): ");
Scanner u = new Scanner(System.in);
System.out.print("Please enter the price per gallon (dollars): ");
String distanceInMiles = s.nextLine();
System.out.println("The distance (miles): " + distanceInMiles);
String fuelEfficiency = t.nextLine();
System.out.println("Fuel efficiency (mpg):" + fuelEfficiency);
String pricePerGallon = u.nextLine();
System.out.println("Price per gallon (dollars): " + pricePerGallon);
double tripCost = (distanceInMiles / fuelEfficiency) * pricePerGallon;
System.out.println("The trip cost (dollars): " + tripCost);
}
}
这是我不断收到的错误:
DrivingCost.java:32: error: bad operand types for binary operator '/'
double tripCost = (distanceInMiles / fuelEfficiency) * pricePerGallon;
^
最佳答案
- 您正在对字符串进行数学运算,但不能,您需要
double
类型Double.parseDouble(sc.nextLine());
读取一行并解析为double
(好处:避免一般情况下返回行错误,这是一个好习惯)sc.nextDouble()
直接读取double
- 每个来源仅使用一台扫描仪
- 在
打印
和扫描仪询问之间保持良好的顺序
Scanner sc = new Scanner(System.in);
System.out.print("Please enter your distance (miles): ");
String distanceInMiles = Double.parseDouble(sc.nextLine());
System.out.println("The distance (miles): " + distanceInMiles);
System.out.print("Please enter vehicle's fuel efficiency (mpg): ");
String fuelEfficiency = Double.parseDouble(sc.nextLine());
System.out.println("Fuel efficiency (mpg):" + fuelEfficiency);
System.out.print("Please enter the price per gallon (dollars): ");
String pricePerGallon = Double.parseDouble(sc.nextLine());
System.out.println("Price per gallon (dollars): " + pricePerGallon);
double tripCost = (distanceInMiles / fuelEfficiency) * pricePerGallon;
System.out.println("The trip cost (dollars): " + tripCost);
关于java - 用户输入问题的代码双方程错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54154748/