java - 用户输入问题的代码双方程错误
问题描述
我的第一个任务是开发一个代码,允许用户输入他们希望行驶的距离、燃料效率和汽油成本的数据。然后创建一个代码以计算旅行的总费用。
我拥有所有输入值的所有代码,但方程式本身有问题。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());
读取一行并解析为 adouble
(好处:通常避免返回行错误,养成良好的习惯)sc.nextDouble()
直接读取double
- 每个来源仅使用一个扫描仪
- 有一个良好的顺序
print
和扫描仪询问
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);
推荐阅读
- linux - 以 iso 格式创建 OS 映像
- reactjs - import & export may only appear at the top level - CRA React App with Typescript
- angularjs - AngularJs ui-router 成功过渡获取控制器
- google-cloud-platform - 从云功能插入扳手的会话泄漏
- sapjco3 - SAPJCo 是特定于 SAP 安装还是可以在不同的 SAP Box 之间重复使用?
- javascript - 为什么第二次迭代后 b 的值会自行增加?
- wordpress - 防止 CMS 识别
- javascript - 检查您是从主页还是子页面重定向的方法
- node-red - 过滤节点红色上的文件尾以执行命令
- java - 为什么 PRESENT 是 HashSet 中 add 方法中 map.put(e,PRESENT) 中的虚拟值?