为了账号安全,请及时绑定邮箱和手机立即绑定

如何在我的代码中输入“为 x 平方英尺的数量收取 x 金额”?

如何在我的代码中输入“为 x 平方英尺的数量收取 x 金额”?

呼啦一阵风 2021-11-17 16:53:45
我正在为我的编程课做作业,为草坪护理服务创建一个程序。对于任务的一部分,我必须创建一种方法,对商业企业每 1000 平方英尺土地收取 5 美元,对住宅每 1000 平方英尺土地收取 6 美元,我的问题是如何将其实施到我的代码中?到目前为止,这是我的代码:public static void main(String[] args) {    Scanner in = new Scanner(System.in);    int choice;    do {        System.out.println("Make your choice: ");        System.out.println("1. Commercial");        System.out.println("2. Residential");        System.out.println("3. Done");        choice = in.nextInt();        if (choice!= 1 && choice != 2 && choice != 3)            System.out.println("Incorrect entry, try again!\n");    }while(choice != 1 && choice != 2 && choice != 3);    switch (choice) {        case 1:            commercial();            break;        case 2:            residential();            break;        case 3:            System.out.println("Have a nice day!");            break;    }}private static void commercial(){    boolean multi;    Scanner scanner = new Scanner(System.in);    System.out.println("Commercial Customer");    System.out.println("Please enter the customer name: ");    String name = scanner.nextLine();    System.out.println("Please enter the customer phone number: ");    String phone = scanner.nextLine();    System.out.println("Please enter the customer address: ");    String address = scanner.nextLine();    System.out.println("Please enter the square footage of the property: ");    String foot = scanner.nextLine();    Double footage = Double.parseDouble(foot);    System.out.println("Please type true if there is a multi-property discount: ");    String discount = scanner.nextLine();    if (discount.substring(0,1).equals("t") || discount.substring(0,1).equals("T")){        multi = true;    }    else{        multi =false;    }    Commercial cust = new Commercial(name, phone, address, footage, multi);    //cust.calculateCharges();}
查看完整描述

2 回答

?
精慕HU

TA贡献1845条经验 获得超8个赞

如果我正确理解您的问题-为什么不添加:


Double price = (footage * 5.0) / 1000.0;

System.out.println("The price is $" + price);

到商业功能的末尾,与住宅功能相同的代码,但将 5.0 替换为 6.0。


您在这里要做的是将素材乘以每个素材的成本,例如 6/1000,然后将其显示给用户。


查看完整回答
反对 回复 2021-11-17
?
人到中年有点甜

TA贡献1895条经验 获得超7个赞

在您尝试实现 之前,您calculateCharge function似乎对静态方法和实例方法之间的区别有些困惑。


静态方法属于类,可以在没有类实例的情况下调用。另一方面,实例方法属于类的对象,只有在创建了该类的对象后才能调用。


例如,假设我有一个Car带有实例变量mileage和两个函数的类:


public double getMileage() {

     return mileage;

}


public static double convertMileageToKm(double mileageInMiles) {

     return mileageInMiles * 1.609;

}

如果我想调用getMileage,我需要创建一个类的实例Car。


Car car1 = new Car();

int milage1 = car1.getMilage();

但是,我可以在convertMileagetoKm没有Car对象的情况下调用,因为它属于类


int milageInKm = Car.convertMileageToKm(milage1);

在您的代码中,您正在calculateCharges对类Residential和Commercial.


有几种方法可以解决这个问题,我认为在继续之前退后一步考虑如何组织代码对您来说是一个有用的练习。


查看完整回答
反对 回复 2021-11-17
  • 2 回答
  • 0 关注
  • 103 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信