新規作成

This commit is contained in:
m-kyono
2026-10-07 08:42:51 +09:00
commit ac639e64c6
2 changed files with 110 additions and 0 deletions

View File

@@ -0,0 +1,110 @@
# 1日目 実装ミッション指示書
## この指示書について
このミッションは、「StringCheck 詳細設計書」で定義されている短文投稿プログラムの完成を目指す、複数日にわたる実装課題の1日目です。今日の講義で習った内容だけを使って、`StringCheck.java` の土台となる部分を組み立てます。
### 今日はまだ次のことを習っていません。使わないでください。
- `if` / `switch` / `for` / `while` などの制御構文(ループ・条件分岐)
- 独自のメソッドを定義すること(`inputString()` や `setUpLogger()` などは、まだ作りません)
- 例外処理(`try` / `catch`)
- ログ出力(`Logger`)
### 今日使ってよいもの
- 基本データ型(`int`, `double`, `boolean`, `char` など)と変数宣言・リテラル
- 算術演算子・比較演算子・論理演算子
- 配列(1次元配列)の宣言・初期化
- 標準入力から文字列を読み取る方法、文字列の前後の空白を除去する方法(★自分で調べること。下記「参考」を参照)
すべての処理は `main` メソッド1本の中に、上から順番に書き並べてください。メソッドへの切り出し(リファクタリング)は、メソッドの定義方法を習った後日のミッションで行います。
## 開発環境について(Eclipse)
本ミッションは **Eclipse** を使用する前提とします。あらかじめ Java プロジェクトを作成し、その中に `StringCheck` という名前のクラスを作成してください(クラス名に合わせて、Eclipseが自動的に `StringCheck.java` というファイルを作成します)。
- **コンパイルエラーの確認方法:** `javac` コマンドは使いません。Eclipseはファイルを保存すると自動でコンパイルします。エディタの左端(行番号の横)や、Package Explorer上のファイル・プロジェクトのアイコンに赤い×印(エラーマーカー)が付いていなければ、コンパイルエラーはありません。
- **実行方法:** エディタ上で右クリック →「実行(Run As)」→「Java アプリケーション(Java Application)」を選択するか、ツールバーの緑色の実行ボタンを押してください。
- **入力の方法:** 実行すると画面下部に **[コンソール](Console)** ビューが開きます。コンソール内をクリックしてカーソルを合わせてから文字を入力し、Enterキーを押すとプログラムに入力を渡せます。
## 今日のゴール
`StringCheck.java` を作成し、次の一連の流れを、**検証(未入力チェック・文字数チェック)なしの「正常系のみ」**で動作させます。
```
いまなにしてる?
(ここでユーザーが文章を入力する)
↓↓↓↓↓↓ 投稿されました ↓↓↓↓↓↓
(入力した文章がそのまま表示される)
```
## 進め方(3段階)
### 段階1:クラスの雛形とメッセージ配列の定義
1. `StringCheck` という名前のクラスを作成し、`public static void main(String[] args)` を用意してください(他のメソッドはまだ作りません)。
2. 画面に表示する以下の文言を、1つの `String` 配列にまとめて `main` の中に宣言・初期化してください。
- `"いまなにしてる?"`
- `"何も入力されていません"`
- `"投稿文が長すぎます"`
- `"↓↓↓↓↓↓ 投稿されました ↓↓↓↓↓↓"`
**この段階の完了確認**
- エディタおよびPackage Explorer上に赤いエラーマーカーが表示されていないこと(コンパイルエラーがないこと)
- 配列の要素数が4つで、内容が上記と一字一句一致していること
### 段階2:標準入力の読み込みと空白除去
1. `main` の中に直接、標準入力から1行分の文字列を読み込む処理を書いてください。
2. 読み込んだ文字列の前後にある空白文字(半角スペース・全角スペースなど)を除去し、`String` 型の変数 `str` に格納してください。
3. 動作確認のため、`str` の内容をそのまま画面に表示してください。
**この段階の完了確認**
- Eclipseで実行し、[コンソール]に前後に半角・全角スペースを含む文章(例:` 今日は晴れ `)を入力すると、スペースが除去された状態(`今日は晴れ`)で表示されること
**参考(自分で調べること)**
「標準入力から1行読み取る方法」「文字列の前後の空白を除去する方法」は、[Java SE 21 API ドキュメント(日本語版)](https://docs.oracle.com/javase/jp/21/docs/api/index.html) で調べてください。「Java + 実現したいこと」で検索すると見つけやすくなります。自分で見つけたクラスやメソッドの仕様(引数・戻り値・挙動)は、必ず公式ドキュメントで裏を取ってから使用してください。
### 段階3:判定値の算出と、正常系のみの一連の流れの実装
1. 段階2で `str` に格納した文字列の**文字数**をもとに、比較演算子を使って次の2つの真偽値(`boolean`)を求め、画面に表示してください。**`if` 文はまだ使わず、値を表示するだけで構いません。**
- 空文字判定:`str` の文字数が `0` かどうか
- 文字数超過判定:`str` の文字数が `140` を超えるかどうか
2. 算術演算子を使って「残り入力可能文字数(`140 - 文字数`)」を計算し、画面に表示してください。
3. 次の一連の流れを、`main` の中に上から順番に書き並べて完成させてください(検証は行わず、必ず投稿が成功する「正常系のみ」の流れです)。
1. 配列から取り出した「いまなにしてる?」を表示する
2. 段階2の読み込み処理で `str` に値を格納する
3. 空行を1行表示する
4. 配列から取り出した投稿完了バナーを表示する
5. `str` の内容を表示する
**この段階の完了確認(動作例)**
Eclipseで実行し、[コンソール]で次のように動作することを確認してください。
```
いまなにしてる?
ラーメンを食べています
↓↓↓↓↓↓ 投稿されました ↓↓↓↓↓↓
ラーメンを食べています
```
- 上記のように、入力した文章がそのまま投稿として表示されること
- 真偽値・残り文字数の表示が、入力する文章の長さに応じて正しく変化すること(空文字を入力した場合や、141文字以上を入力した場合など、複数パターンを自分の目で確認すること)
## 提出物
- 作成した `StringCheck.java`
- 動作確認メモ(段階2・段階3の完了確認で、どんな入力を試して、どう表示されたかを簡単に記録したもの。詰まった点があれば併記してください)
## 今日は実装しないこと(翌日以降に扱います)
- 未入力・文字数超過時に「再表示して入力させ直す」処理(`if` 文・ループが必要なため)
- `inputString()` や `setUpLogger()` のような独立したメソッドへの切り出し
- ログ出力(`Logger` によるファイル出力)

Binary file not shown.