みなさんプログラミング楽しんでますかっ?
「C#の入門書をひととおり読んでみたけど、まだところどころふわふわした感じがする。。」
というような方たちに向けてC#プログラムの問題を作っていこうと思います。
第5問、今回は配列の中の検索のしかたです!
第5問 入力された値を検索する
下記のような動作をするコンソールプログラムを作ってください。
- プログラム内に配列を用意する
- 配列には、"りんご"、"ごりら"、"らっぱ", "ぱんだ", "だんかん"を格納しておく
- プログラムを実行すると、「単語を入力してください」と表示する
- ユーザの入力を受け付ける
- ユーザの入力が"quit"であった場合、プログラムを終了する
- ユーザの入力が"quit"以外であった場合、次の処理へ進む
- 入力された文字列が配列内に存在する場合は、"見つかりました!"を表示する
- 入力された文字列が配列内に存在しない場合は、"見つかりません。。"を表示する
- 3.に戻る
今回必要な知識の例は,
- Console.WriteLine
- Console.ReadLine
- if
- foreach
- 配列の使い方
- bool型のフラグの使い方
です。
もちろん、これらを使わない別の方法で実現しても構いません。
それでは、頑張ってください!
解答例
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Jp.Artm.Blog.Csarp.BeginnerQ2
{
class Program
{
static void Main(string[] args) {
String[] hairetu = {
"りんご",
"ごりら",
"らっぱ",
"ぱんだ",
"だんかん"
};
Console.WriteLine("単語を入力してください");
String inputString = Console.ReadLine();
while(inputString != "quit") {
Boolean found = false;
foreach(String tango in hairetu) {
if(tango == inputString) {
found = true;
break;
}
}
if(found) {
Console.WriteLine("見つかりました!");
} else {
Console.WriteLine("見つかりません。。");
}
Console.WriteLine("単語を入力してください");
inputString = Console.ReadLine();
}
}
}
}