将用户输入传递给方法java

时间:2015-08-17 07:41:46

标签: java methods

嘿伙计们我是java的初学者,我正在尝试编写一个这样的程序:  涂装公司已确定每隔115平方英尺的墙面   空间,一加仑油漆和八小时的劳动力将是必需的。

该公司每小时收取18.00美元的劳动力。

编写一个允许用户输入房间数的程序   被涂上油漆和每加仑油漆的价格。它也应该要求  每个房间的墙面积都是平方英尺。该计划应该有   返回以下数据的方法:

  • 所需油漆的加仑数
  • 所需的劳动时间
  • 油漆的成本
  • 人工费
  • 油漆工作的总成本

然后它应该在屏幕上显示数据 这就是我到目前为止所拥有的。我可以得到用户输入和加仑的数量,但是当我尝试计算劳动小时数它做的是它从先前计算的结果计算劳动力,这不是我想要的..这就是我的意思到目前为止

int resultnumberofhours = hoursoflabor(numberofsquarefeet,115,8);
        System.out.println("the number of hours needed are " + resultnumberofhours);
    }
public static int hoursoflabor(int numberofsquarefeet, int squarefeet,int labor){
        int resultnumberofhours = numberofsquarefeet/115*8;
        return resultnumberofhours;
    }

4 个答案:

答案 0 :(得分:0)

而不是一个接一个地尝试像这样的代码

Scanner dd = new Scanner(System.in);
int[] vars = new int[5];

for(int i = 0; i < vars.length; i++) {
  System.out.println("Enter next var: ");
  vars[i] = dd.nextInt();
}

答案 1 :(得分:0)

我能用代码看到的唯一问题是你没有对结果做任何事情。请尝试以下方法:

choices'=>array('A','B')

从java函数返回某些内容时,您可以将该值分配给您指定的相同类型的变量作为函数的返回类型,或者您可以在print语句中使用输出。如果您对输出不执行任何操作,则会丢失该结果。

希望这有帮助。

答案 2 :(得分:0)

您必须在结尾打印结果:

       System.out.println("enter number of square feet");
    numberofsquarefeet = Keyboard.nextInt();
    int resultSqFeet = numberofsquarefeet(numberofsquarefeet, 115, 1);
    System.out.println("number of square feet is" + resultSqFeet);
}

或在方法内部:

public static int numberofsquarefeet(int numberofsquarefeet, int squarefeet, int paint) {
    int result = numberofsquarefeet / 115 * 1;
    System.out.println("number of square feet is " + result);
    return result;
}

hoursoflabor

也是如此

答案 3 :(得分:0)

我建议你先退一步编写代码并先解析一下你的问题。

您有一个数据模型和一个可以更详细描述的过程。这将帮助您为您的课程和方法提供一个好的设计。如果您立即开始编写代码,特别是作为初学者,它通常最终会像一堆意大利面。

以下是我对数据模型的建议:

  • PaintingCompany
    • PAINT_GALLONS_PER_SQUARE_FOOT = 1/115
    • LABOR_HOURS_PER_SQUARE_FOOT = 8/115
    • LABOR_DOLLARS_PER_HOUR = 18
    • wallSpaceSquareFeet
  • 油漆
    • dollarsPerGallon
    • 加仑
    • calculatePaintCostInDollars()
  • 项目
    • 涂料
    • calculateGallonsOfPaintRequired()
    • calculateHoursOfLaborRequired()
    • calculateLaborChargesInDollars()
    • calculateTotalCostInDollars()

请注意,PaintingCompany类仅包含常量。如果愿意,可以将main()方法放在这个类中。

油漆的类型和数量被建模为单个“油漆”类。您可能会认为这是不准确的,并且有一个单独的PaintType(枚举)代表已知类型的油漆及其价格,但我认为这是此时的特征蠕变。因此,使用上面的模型,您需要以正确的价格实例化Paint实例,然后在其上设置绘制量。然后,Paint类将具有计算总油漆价格的功能。

明确地对单位进行建模是一个想法。该型号现在固定在美元和加仑上,但未来您可能希望转换为欧元和升,以便在欧洲销售该应用程序。现在我没有模型单元,因为它可能使练习过于复杂。为了避免混淆,重要的是将单位明确指定为变量或方法名称的一部分。由于此类型的错误,已知太空火箭会崩溃。

这个过程可能如下所示:

  1. 创建新项目
  2. 询问用户油漆价格
  3. 在项目的Paint对象
  4. 上设置绘画价格
  5. 开始迭代:
    • 将新的Room对象添加到Project
    • 向用户询问房间的墙面积(平方英尺)
    • 询问用户是否还有其他房间
    • 如果是,请从步骤4开始重复
  6. 如果不是,请打印包含所需项目数据的报告
  7. 请注意,其中一些流程步骤适合单独的类:

    • 迭代可以放在PaintingCompany类
    • 获取用户的输入。将它保持独立是很好的,这样您可以在以后轻松更改它而不会影响其他代码。
    • 打印报告。报告通常有点复杂,具有输出格式等,并且是一个很好的单独关注点。您还希望能够在不影响其他代码的情况下更改报表实现。

    如果您根据此(或您自己的)设计发布新代码,我很乐意对此发表评论或帮助您解决任何问题。