0

こんにちは、私は初心者で、現在 Java プログラミングを学ぼうとしています。教科書の問題:

人がハイブリッド車を購入するかどうかを決定するのに役立つプログラムを作成します。プログラムの入力は次のようにする必要があります。 • 新車のコスト • 年間の推定走行距離 • 推定ガソリン価格 • ガロンあたりの走行距離で表した効率 • 5 年後の推定再販価値

車を 5 年間所有するための総コストを計算します。(簡単にするために、資金調達のコストは考慮しません。) 新品および中古のハイブリッド車と同等の車の現実的な価格を Web から取得します。今日のガソリン価格と年間 15,000 マイルを使用して、プログラムを 2 回実行します。疑似コードを含めると、プログラムは割り当てで実行されます。

私の質問: コードは正しく、私のプログラムは完璧に動作します。私の主な関心事は、これをどのように専門的な方法で提示できるかです。専門的に構成するにはどうすればよいか、公開するにはどうすればよいでしょうか (たとえば)。コードを整理してきちんと提示する習慣をつけようとしています。どんな提案も役に立ちます、ありがとう!

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. クラスとmainメソッドに JavaDoc コメントを追加します。
  5. 常にリソースを明示的に閉じます。
  6. ユーザーは、いくつかの入力を小数で入力したい場合があります。doubles の代わりにsを使用しintます。スキャナーは、小数点以下の数字も受け入れます。
  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 を作成しましたが、その属性と操作を適切に定義していないので、よく考えてください。
  • エナカプセル化: データの隠蔽。クラスの属性と操作に適切なアクセス指定子を使用していることを確認してください
  • 継承: 車は非常に抽象的なものなので、抽象クラスを定義する方が適切です。また、基本の Car クラスから Ford Car や Merc Car などの実際のクラスを継承します。
  • ポリモーフィズム : Car とそのサブクラスを定義するとき、抽象クラスで定義されているメソッドを子クラスにオーバーライドする必要がある場合があります。

ソフトウェアのパッケージ化: 複数の方法で実行できます。

  1. パッケージ化は実行可能なjarであるため、ユーザーはそれをダブルクリックして実行するだけです
  2. Java コードを内部的に呼び出す exe ファイルを作成します。

jre をコンピューターにインストールする必要があること、パスを設定する必要があることなどについて言及するために、リリース ノートまたは小さなドキュメントを作成する必要がある場合があります。

それが役に立てば幸い!

于 2013-08-20T06:35:55.800 に答える
0

あなたが初心者でJavaを学び始めたと言うように、常に次のことを心に留めておく必要があります。

  1. Java はオブジェクト指向であり、プログラムは C プログラムに似ているため、クラス、オブジェクト、すべてなどの OOP の概念を使用する必要があります。

  2. プログラムを書くときは、適切なインデントを使用する必要があります。

  3. 変数に名前を付ける際、メソッドは適切な命名規則を使用し、新しいユーザーが与えられたものをどのような目的で取得できるようにコメントを付けることを忘れないでください。

  4. 新しいことを学んだら、これらをプログラムまたはプロジェクトに実装してみてください。

  5. パッケージを試して、小さなクラスとプログラムを維持して、将来、他のユーザーと同様に混乱しないようにしてください。

この回答が役立つと思われる場合は、承認済みとしてマークすることを忘れないでください..

于 2013-08-20T07:43:05.223 に答える