0

您好,我是初学者,目前正在尝试学习 java 编程。教科书上的问题:

编写一个程序,帮助人们决定是否购买混合动力汽车。您的程序的输入应该是: • 新车的成本 • 估计每年行驶的里程 • 估计的汽油价格 • 每加仑英里数的效率 • 5 年后估计的转售价值

计算拥有这辆车五年的总成本。(为简单起见,我们将不考虑融资成本。)从网络上获取新车和二手混合动力车以及可比汽车的实际价格。使用今天的汽油价格和每年 15,000 英里运行您的程序两次。包括伪代码和程序运行与您的分配。

我的问题:我的代码是正确的,我的程序运行完美。我主要关心的是如何以专业的方式呈现这一点。我怎样才能专业地构建它,我必须做什么才能让它出版(例如)。我正在努力养成让我的代码井井有条的习惯。任何建议都会有所帮助,谢谢!

public class car
{



public static void main(String[] args)

{

    Scanner in = new Scanner(System.in);
    System.out.println("Car Model: ");
    String carModel = in.nextLine();
    System.out.print("Cost of Car: ");
    int costOfCar = in.nextInt();
    System.out.print("The estimated miles driven per year: ");
    int milesDriven = in.nextInt();
    System.out.print("The estimated gas price: ");
    int gasPrice = in.nextInt();
    System.out.print("Efficiency in miles per gallon: ");
    int milesPerGallon = in.nextInt();
    System.out.print("Estimated resale value after 5 years: ");
    int retailValue = in.nextInt();



    double carEfficiency = (double) gasPrice / milesPerGallon;
    double milesDrivenCost = (double) milesDriven * carEfficiency * 5; //5 years of driving
    double retailValueInFiveYears = retailValue;
    double carUseLoss = costOfCar - retailValueInFiveYears;
    double totalCost = carUseLoss + milesDrivenCost;
    System.out.print(carModel + " will cost you after 5 years: ");
    System.out.format(" %,d%n", Math.round(totalCost));

    }
 }
4

3 回答 3

2
  1. 我希望这不是你真正的缩进。
  2. 使用 Java 命名约定。特别是,类car应该是“汽车”。
  3. 我会说添加一些评论,但变量名称非常具有描述性。
  4. 将 JavaDoc 注释添加到类和main方法中。
  5. 始终明确关闭资源。
  6. 用户可能希望输入几个带小数的输入。使用doubles 代替ints。扫描仪也将接受不带小数的数字。
  7. 也许您可以包含生成的 JavaDoc HTML 输出。

Java代码:

import java.util.Scanner;

/**
 * Computes a car's 5-year cost of ownership.
 * Usage:
 *    java Car
 * 
 * @author Mario Rossi
 */
public class Car {

    /**
     * Computes a car's 5-year cost of ownership.
     * 
     * @param args  Not used.  
     */
    public static void main(String[] args) {

        Scanner in = new Scanner(System.in);
        System.out.println("Car Model: ");
        String carModel = in.nextLine();
        System.out.print("Cost of Car: ");
        double costOfCar = in.nextDouble();
        System.out.print("Estimated miles driven per year: ");
        double milesDriven = in.nextDouble();
        System.out.print("Estimated gas price in $ per gallon: ");
        double gasPrice = in.nextDouble();
        System.out.print("Efficiency in miles per gallon: ");
        double milesPerGallon = in.nextDouble();
        System.out.print("Estimated resale value after 5 years: ");
        double retailValueInFiveYears = in.nextDouble();
        in.close();

        double carEfficiency = gasPrice / milesPerGallon;
        double milesDrivenCost = milesDriven * carEfficiency * 5; //5 years of driving
        double carUseLoss = costOfCar - retailValueInFiveYears;
        double totalCost = carUseLoss + milesDrivenCost;
        System.out.print(carModel + " will cost you after 5 years: ");
        System.out.format(" %,.2f%n", totalCost );
    }
}
于 2013-08-20T06:29:52.273 回答
1

首先,您需要使用面向对象的方法,即遵循规则:

  • 抽象:将实体标识为类及其属性和操作。您已经创建了一个 Car 类,但没有正确定义其属性和操作,因此请考虑一下。
  • Enacapsulation:数据隐藏,确保为 Class 属性和操作使用正确的访问说明符
  • 继承:汽车是一个相当抽象的东西,所以你最好定义一个抽象类。并从您的基类 Car 继承真正的类,例如 Ford Car、Merc Car。
  • 多态性:定义 Car 及其子类时,可能必须将抽象类中定义的方法覆盖到子类中。

打包软件:您可以通过多种方式进行打包:

  1. 将其打包为可执行 jar,因此用户只需双击它并运行
  2. 创建一个 exe 文件,该文件在内部调用您的 java 代码。
  3. ETC

您可能需要编写发行说明或小文档来提及应在计算机上安装 jre、应设置路径等。

希望能帮助到你!

于 2013-08-20T06:35:55.800 回答
0

正如您所说,您是初学者并开始学习java,您应该始终牢记以下几点,

  1. 由于 Java 是面向对象的,而您的程序就像 c 程序一样,您必须使用 OOP 概念,如类、对象和所有。

  2. 在编写程序时,您应该使用正确的缩进。

  3. 在为变量命名时,方法使用正确的命名约定并且不要忘记给出注释,以便新用户可以出于什么目的得到你给出的东西。

  4. 当您学习新事物时,请尝试在您的程序或项目中实现这些。

  5. 尝试使用这些包并尝试保留小类和程序,这样您将来以及其他用户也不会感到困惑。

如果您发现此答案有用,请不要忘记标记为已接受..

于 2013-08-20T07:43:05.223 回答