019-005-002
リソース管理:レシピファイル読み込み
初級
問題説明
リソース管理:レシピファイル読み込み
この問題では: try-with-resources文を使ってScannerでレシピ名と調理時間を標準入力から読み取り、結果を標準出力に表示するプログラムを作成します。
学習目標: try-with-resources文でリソースを安全に管理する方法を理解する
ファイルからレシピ情報を読み込むプログラムを作成します。try-with-resources文(try (...) {})を使うことで、Scannerなどのリソースが自動的にクローズされ、リソースリークを防ぐことができます。従来のtry-finally文では手動でclose()を呼ぶ必要がありましたが、try-with-resources文ならJavaが自動的に処理してくれます。
例1:カレーレシピ(調理時間30分)
標準入力から2行のデータ(レシピ名と調理時間)を読み取ります。try-with-resources文により、Scannerはtryブロックを抜ける際に自動的にクローズされます。
入力:
Curry
30
出力:
=== Recipe File Reader ===
Recipe: Curry
Cooking Time: 30分
━━━━━━━━━━━━━━━━
Resource: Closed automatically
Status: Reading completed
```java
### 例2:パスタレシピ(調理時間20分)
同様に2行のデータを読み取り、Scannerは自動的にクローズされます。リソースのクローズ処理をプログラマーが明示的に書く必要はありません。
```java
入力:
Pasta
20
出力:
=== Recipe File Reader ===
Recipe: Pasta
Cooking Time: 20分
━━━━━━━━━━━━━━━━
Resource: Closed automatically
Status: Reading completed
```java
### 例3:サラダレシピ(調理時間5分)
短時間で準備できるレシピでも正しく動作します。try-with-resources文はどのような値でもリソースを安全に管理します。
```java
入力:
Salad
5
出力:
=== Recipe File Reader ===
Recipe: Salad
Cooking Time: 5分
━━━━━━━━━━━━━━━━
Resource: Closed automatically
Status: Reading completed
```java
## 入力
標準入力からレシピ名と調理時間が入力されます:
1行目: レシピ名
2行目: 調理時間(分)
## 出力
```java
=== Recipe File Reader ===
Recipe: [レシピ名]
Cooking Time: [時間]分
━━━━━━━━━━━━━━━━
Resource: Closed automatically
Status: Reading completed
テストケース例
※ 出力例はプログラミングの国際標準に準拠し英語で表示しています
正常系
入力:
Pizza 45
期待される出力:
=== Recipe File Reader === Recipe: Pizza Cooking Time: 45 minutes ━━━━━━━━━━━━━━━━ Resource: Closed automatically Status: Reading completed
正常系
入力:
Steak 60
期待される出力:
=== Recipe File Reader === Recipe: Steak Cooking Time: 60 minutes ━━━━━━━━━━━━━━━━ Resource: Closed automatically Status: Reading completed
あなたの解答
現在のモード:● 自分のコード
99
1
2
3
4
5
6
7
8
9
10
›
⌄
⌄
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
// ここにコードを書いてください
sc.close();
}
}
0 B / 5 MB
残り 10 回実行可能
