地下鉄ラインの結び目のプログラムの計画---

A. 時間の全体的なプロジェクトの計画
このプロジェクトを開発するためには、タイムスケジュールPSP表を開発する目的の状況の組み合わせを必要とし、より良いプロジェクトを促進するためにも、失明を削減し、分析し、チームメイトの交換、一般的な理解を持っています。

II。プロジェクトでは、分析を必要とする
教師へのプロジェクトの要件に基づいており、彼のチームメイトの議論、徐は、大きく分けて2つの要件を以下に示します。
1.地下鉄線やサイト情報TXTテキスト文書が保存されると、ユーザーは、クエリの地下鉄ラインに望んでいます。所与地下鉄ラインパラメータにおいて、station.txtファイルに格納された末端、およびサイト情報までサイトを介して、ラインの開始点から順次出力されます。
2.クエリの最小数のサイトからの経路情報にユーザが望む端末に出発駅の後、およびサイトとパスの数を出力します。転送を所望する場合は、転送ステーションは、出力ラインの次のラインを転送します。routine.txtファイルに出力情報。
要約すると、システムは、最短経路、入力条件決意を計算するために、読み出して出力ファイルへの機能モジュールを含みます。最短経路を計算すると、モジュールを読み込むファイルに依存しています。

III。プログラムの設計と実装の
Javaアプリケーションでは、このプロジェクトが開発されました。使用されるのを待って、事前エントリーsubway.txtファイル内のサイトと行情報。マスタークラスSubwayMapを書く、それは2つのプライベートクラス駅とエッジを含んでいます。駅のようなサイトは属性が含まれています:文字列stationName、ブールが訪れ、int型の DIST、駅のパス、文字列のtrackname、エッジクラスは属性がある含まれています。駅の駅、文字列lineName、int型の距離。
メインクラスのメソッドには、次のものが含まれています:
無効FileReaderの(文字列filePathに)、指定されたTXTファイルを読み込むために。
ボイドshortestPath(ストリングS1、文字列s2 、文字列routinePath)、 通過点を開始パラメータ及び端末は、最短経路情報を算出し、情報をファイルroutine.txtに保存されています。
ボイドShowStation(文字列stationname、文字列stationPath )、 指定された行に対応するサイトへの情報を表示し、情報はstation.txtに格納されています。
空dijkstraTravel(駅s)は、機能無効shortestPath(文字列s1を、文字列s2のための古典的なコンピュータアルゴリズムダイクストラの最短経路 、文字列routinePath) コール。
mainメソッドのパブリック静的な無効メイン(文字列[]で定義されたファイルパス引数) 内部。メインクラスSubwayMapの例としては、STR [] []ラインマップ、SubwayMap M =新SubwayMap(filePathに)を得る ; 入力が「-a」、ShowStationメソッド呼び出し情報クエリ地下鉄である場合、whileループ条件の決意入力;入力が「-b」がある場合、最短経路を示し、入力開始点及び端末は、この方法はshortestPath、出力呼び出し、その結果をroutine.txt内部に保存されています。
示されるように、コードプロファイル:
示されるように、コードの主な機能:

IV。テストプログラムの効果は、
1を必要とする:行のすべてのサイトをプリントアウトし、station.txt年に情報を保存するためにユーザーが入力したラインパラメータによります。以下に示すような結果を達成するために


要求II:出発点と端末算出ユーザによって提供される最短経路情報を、そしてroutine.txtに格納された最短パス情報を出力します。示すような結果を達成するために:

V.コード質量分析
、オブジェクト指向開発言語のJavaの項目の、プロジェクトが一つだけメインクラスが含まれている、メインクラスはいくつかのサブクラス、明確な構造を入れ子になりました。明示的な方法とメソッドの間で呼び出します。インタラクティブなプロセス、声明、ユーザーフレンドリーな入力を促しました。全体的に、プログラムコードのシンプル。
しかし、決意の条件では、我々はいくつかの欠点を持っています。たとえば、あなたが1番地下鉄線の情報を検索したい場合は、「1行目には、」「ライン」と同じですが、プログラムの中で唯一のコードの脆弱性である「ライン1」は、改善される可能性が認識されます。

VI。ジョブ送信
のGithubに提出し、プロジェクトのソースコードを表示するためにダウンロードするには、教師と生徒を容易にするために。住所:https://github.com/zhuoyangli2019/ShortRoad.git

VI。集計]
このプロジェクトの鍵は、アイデアは、幅優先イデオロギーを使用することで、使用されるキーアルゴリズムは、ダイクストラのアルゴリズムであり、最短経路です。理論的には、それはまた、BFSアルゴリズムを使用することができます。
そして、それらのプログラミング能力のペアプログラミングの過程で小さなパートナーは、弱い、チームメイトが行った作業のほとんどは、私はいくつかのアイデアや提案を提供し、ファイルなどのいくつかの簡単なモジュールを書き込み、読み出しデータを印刷します。我々は良い運動プログラムを訓練し、団結と協力の重要性を十分に認識能力を、思考の過程でいくつかの技術的な問題を解決するために、お互いに、定期的な交流と協力、過去二週間の時間を持っています。また、このモデルを使用して、将来的にプログラミング、開発活動に取っての利点を理解。

おすすめ

転載: www.cnblogs.com/zhuoyang/p/11802343.html