014-007-001

テンプレートメソッドパターン:ドキュメント処理

初級

問題説明

テンプレートメソッドパターン:ドキュメント処理

この問題では: 抽象クラスDocumentProcessorにfinalメソッドで処理の流れを固定し、サブクラスPDFProcessorで各ステップをオーバーライドすることで、テンプレートメソッドパターンを実装し、結果を標準出力に表示するプログラムを作成します。標準入力からドキュメント名を読み取り、保存ステップでファイル名として使用します。

学習目標: finalメソッドで処理の流れを固定する

ドキュメント処理システムを作ります。DocumentProcessorクラスにfinalメソッドで処理の流れを定義し、PDFProcessorクラスで各ステップをカスタマイズしましょう。Scannerでドキュメント名を読み取り、processDocument(String documentName)に渡してください。

入力

ドキュメント名(1行)

出力

===== PDF Document Processing =====
[Step 1] Opening: PDF Reader
[Step 2] Reading: Extracting text from PDF
[Step 3] Processing: Converting to plain text
[Step 4] Saving: Saving as {ドキュメント名}.txt
[Step 5] Closing: Releasing PDF resources
==================================

入力例

report

出力例

===== PDF Document Processing =====
[Step 1] Opening: PDF Reader
[Step 2] Reading: Extracting text from PDF
[Step 3] Processing: Converting to plain text
[Step 4] Saving: Saving as report.txt
[Step 5] Closing: Releasing PDF resources
==================================

テストケース例

※ 出力例はプログラミングの国際標準に準拠し英語で表示しています

正常系
入力:
summary
期待される出力:
===== PDF Document Processing =====
[Step 1] Opening: PDF Reader
[Step 2] Reading: Extracting text from PDF
[Step 3] Processing: Converting to plain text
[Step 4] Saving: Saving as summary.txt
[Step 5] Closing: Releasing PDF resources
==================================
正常系
入力:
invoice
期待される出力:
===== PDF Document Processing =====
[Step 1] Opening: PDF Reader
[Step 2] Reading: Extracting text from PDF
[Step 3] Processing: Converting to plain text
[Step 4] Saving: Saving as invoice.txt
[Step 5] Closing: Releasing PDF resources
==================================

あなたの解答

現在のモード: 自分のコード
DocumentProcessor.java🔒
PDFProcessor.java🔒
Solution.java🔒
3/6 ファイル501B
public class DocumentProcessor {
// Define the final template method and protected step methods here
}
0 B / 5 MB

残り 10 回実行可能