当前位置: 首页 > 知识库问答 >
问题:

我正试图修复我的代码,使加仑的油漆需要轮升而不是轮降(因为你不能买.2加仑的油漆)[重复]

琴英华
2023-03-14

对于这个程序,我们必须让用户输入房间的尺寸,并计算出平方英尺,然后用它来查看需要多少加仑的油漆。一加仑油漆覆盖350平方英尺。我需要帮助完成一个我困惑的if语句。我希望它是这样的,如果需要多少油漆有余数(例如:需要1.2加仑,它将四舍五入表示您需要2加仑的油漆)。有谁能帮我解决这个问题吗?我对所有的int和if语句都搞混了。

import java.util.Scanner;

//declare variables
class Main {
  final int  COVERAGE = 350; //paint covers 350sq. feet
  int length, width, height;
  double totalSqFt, paintNeeded;
    //declare integers length, width, height
    //declare doubles totalSqFt, paintNeeded
  Scanner scan = new Scanner(System.in);

  //this will run all the main methods
  public void runProgram()
  {
    input();
    calculations();
    output();
  }
  
  //this will get the user input for the length, height, and width of the room
  public void input()
    {
    System.out.println("Length of room:");
    length = scan.nextInt();
    scan.nextLine();
    System.out.println("Height of room:");
    height = scan.nextInt();
    scan.nextLine();
    System.out.println("Width of room:");
    width = scan.nextInt();
    scan.nextLine();
        //Prompt for and read in the length of the room
        //Prompt for and read in the height of the room
        //Prompt for and read in the width of the room
  }
  
  //this calculates the user data for the amount of paint needed 
    public void calculations()
  {
    totalSqFt = ((width * height) + (length * height)) * 2;
    paintNeeded = (int)(totalSqFt) / (COVERAGE);

    if (totalSqFt % COVERAGE)
    {
      paintNeeded = paintNeeded + 1;
    }

    if (totalSqFt < 350){
      paintNeeded = 1;
    }else{
      
      paintNeeded = (int)(totalSqFt) / (COVERAGE);
    }
        //Compute the total square feet of the walls to be painted
        //Computer the amount of paint needed
    }

    //this prints out the calculations above
  public void output()
  {
        System.out.println("Length: " + length + " Width: " + width + " Height: " + height);
    System.out.println("Total Square Feet: " + totalSqFt + " \nGallons of Paint Needed: " + paintNeeded);
    //Print the length, width, and height of the room and the gallons of paint needed.
    }

  public static void main(String[] args)
  {
    Main prog = new Main();
    prog.runProgram();
  }

}```

共有1个答案

柳灿
2023-03-14

您可以尝试使用以下calculations()方法:

public void calculations()
  {
    totalSqFt = ((width * height) + (length * height)) * 2;
    paintNeeded = (int) Math.ceil(totalSqFt / COVERAGE);
  }
 类似资料:
  • 问题内容: 对不起,我进行了大量搜索,以查找这3个功能(绘画,重绘,paintComponent)之间如何相互作用,但我不知道。您能准确解释一下它们何时被调用(因为有时java会在没有我问他的情况下调用它),它们到底在做什么,它们之间有什么区别。谢谢 问题答案: 我不确定“ paint”,但是我可以解释repaint()和paintComponent()之间的关系。 根据我在Java方面的有限经验

  • 本章介绍Canvas组件,用它来生成简单的二维(2D)图形,目标是创建一个PaintPot(油漆桶)应用,让用户在手机屏幕上绘制图画,并让用户用手机给自己拍照,然后在自己的照片上绘图。回顾历史,早在20世纪70年代,PaintPot是最早运行在个人电脑上的应用之一,目的是为了证明个人电脑的潜力。那时候,开发这样一款简单的绘图应用是一项极其复杂的工作,而且绘图效果也略显粗糙。但现在,使用App In

  • 只是一个关于继承的理论问题。 假设我有一个类“GamePanel”,它扩展了JPanel。 我知道在课堂上,如果我调用,它将调用父类(JPanel)绘制方法。 但是如果我创建一个对象GamePanel,它不应该继承所有的JPanels方法吗?那么在这种情况下,为什么不工作?当前对象应该能够访问该方法,对吗? 如果没有,为什么

  • 我试图编写一个小迷宫运行程序,遇到了一些与绘图组件()相关的麻烦。我已经完成了调试,出于某种原因,我的绘图组件()从未被调用,即使是由我的计时器调用的重新绘制()。 这些是我的frame和jpanel init方法。 这是我的paintComponent,图像确实已缓冲并已存储。 这就是我的ActionExecuted,它是用我的计时器调用的,默认设置为5秒的间隔。 } 如果你感兴趣,这是我的完整

  • 我正在创建html5绘画应用程序,目前正在处理混合层。我想知道在这样的程序中,哪种方法是最好的(最快的和类似gimp/photoshop的)。我的层(画布)是堆叠的。 通过CSS3属性更改混合模式(可能非常快-直接在显卡上混合) 具有隐藏的画布(图层)和一个画布来向用户显示平坦的图像。所以我们画在这些隐藏的画布上,有一些机制将每个隐藏的画布绘制到用户可见的画布上(可能较慢,但每个context.d

  • 最后,我们再来测试另一个广泛使用的数据集,卡内基梅隆大学统计的汽车燃油消耗和公里数数据。 它在1983年的美国统计联合会展中使用过,大致格式如下: 这个数据集做过一些修改。(下载:mpgTrainingSet.txt、mpgTestSet.txt) 我们要预测的是加仑燃油公里数(mpg),使用的数据包括汽缸数、排气量、马力、重量、加速度等。 数据集中有342条记录,50条测试记录,运行结果如下: