代码格式,结构,一致性

时间:2013-08-20 06:27:20

标签: java

您好我是初学者,目前正在尝试学习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));

    }
 }

3 个答案:

答案 0 :(得分:2)

  1. 我希望这不是你真正的缩进。
  2. 使用Java命名约定。特别是,班级car应为“汽车”。
  3. 我会说添加一些注释,但变量名称非常具有描述性。
  4. 将JavaDoc注释添加到类和main方法。
  5. 始终明确关闭资源。
  6. 用户可能想要输入带小数的几个输入。使用double代替int s。扫描仪也会接受没有小数的数字。
  7. 也许您可以包含生成的JavaDoc HTML输出。
  8. 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 );
        }
    }
    

答案 1 :(得分:1)

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

  • 抽象:将实体标识为类及其属性 和操作。你创建了一个类Car但没有定义它 属性和操作得当,所以要考虑一下。
  • 封装:数据隐藏,请确保使用正确的访问权限 您的类属性和操作的说明符
  • 继承:Car是一个很抽象的东西,所以你最好定义一个 抽象类。并继承真正的类,如福特汽车,Merc汽车 来自你的基础汽车课。
  • 多态性:当您定义Car及其子类时,您可以 必须将抽象类中定义的方法覆盖到您的 儿童课。

打包软件:您可以通过多种方式实现:

  1. 打包它是一个可执行jar,因此用户只需双击它并运行
  2. 即可
  3. 创建一个exe文件,在内部调用您的java代码。
  4. 您可能需要撰写发行说明或小文档,提及应在计算机上安装jre,应设置路径等。

    希望它有所帮助!

答案 2 :(得分:0)

如你所说,你是初学者并开始学习java,你应该始终牢记以下事项,

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

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

  3. 在为变量命名时,方法使用正确的命名约定,并且不要忘记给出注释,以便新用户可以获得您给出的内容的目的。

  4. 当你学习新东西时,试着在你的程序或项目中实现这些。

  5. 尝试使用这些软件包并尝试保留小型课程和程序,这样您以后也不会对其他用户感到困惑。

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