【发布时间】:2020-09-11 20:58:55
【问题描述】:
我不知道第 34 行出了什么问题,我需要帮助解决它。我不知道是我输入错误还是需要转换一些东西。
import java.util.Scanner;
import java.lang.Math;
public class PaintEstimator {
public static void main(String[] args) {
Scanner scnr = new Scanner(System.in);
double wallHeight;
double wallWidth;
double wallArea;
System.out.println("Enter wall height (feet): ");
wallHeight = scnr.nextDouble();
System.out.println(wallHeight);
wallWidth = scnr.nextDouble();
System.out.println("Enter wall width (feet): ");
System.out.println(wallWidth);
wallArea = wallHeight * wallWidth;
System.out.println("Wall area: " + (wallArea) + " square feet");
double paintNeeded;
int cansNeeded;
final double squareFeetPerGallons;
final double gallonsPerCan;
squareFeetPerGallons = 350.0;
gallonsPerCan = 1.0;
System.out.print("Paint needed: ");
paintNeeded = wallArea / squareFeetPerGallons;
System.out.print(paintNeeded);
System.out.println(" gallons");
cansNeeded = paintNeeded / gallonsPerCan;
System.out.print("Cans needed: ");
System.out.print(cansNeeded);
System.out.println(" can(s)");
} }
【问题讨论】:
-
第 34 行是什么?
-
有问题的行是
cansNeeded = paintNeeded / gallonsPerCan;。您正在划分两个双精度,但将结果分配给一个 int。您应该将该除法的结果转换为 int,可能需要经过一些舍入操作。
标签: java