C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[1]: if文の中のContainsが機能しません


(過去ログ 67 を表示中)

[トピック内 2 記事 (1 - 2 表示)]  << 0 >>

■39287 / inTopicNo.1)  if文の中のContainsが機能しません
  
□投稿者/ もろこし (1回)-(2009/08/04(Tue) 15:44:53)

分類:[C#] 

環境はVS2005です。
初めてC#を触って、人口無能チャットみたいなのを作っているのですが行き詰ったので質問させてください。
textboxに入力した文字列をlistboxへ代入し、入力された文字列の中にキーワードがあった場合に決まった応答文を返すようなものを作っています。

以下、現在のプログラムです。


listBox1.Items.Add(textBox1.Text);
string input = textBox1.Text;

if (input.Contains("こんにちは"))
{
        listBox1.SelectedIndex = listBox1.Items.Add("<こんにちはー。>");
 }

if (input.Contains("眠い"))
{
        listBox1.SelectedIndex = listBox1.Items.Add("<寝てないの?>");

        if (input.Contains("うん"))
        {
                listBox1.SelectedIndex = listBox1.Items.Add("<何かあったの?>");
        }
        if (input.Contains("いいえ"))
        {
               listBox1.SelectedIndex = listBox1.Items.Add("<何時に寝たの?>");
        }
}

現状だと、

こんにちは
<こんにちはー>
眠いなぁ
<寝てないの?>
うん、寝てないんだ

ここで止まってしまって、「うん」というキーワードに反応してくれません。
if文の中のif文が上手く動いてないのが原因なんでしょうが、C#を触れたばかりで解決の糸口が掴めません。
「うん」や「いいえ」に対して反応を返すようにしたいのですが、どのようにすればよいでしょうか?
よろしくお願いいたします。

引用返信 編集キー/
■39289 / inTopicNo.2)  Re[1]: if文の中のContainsが機能しません
□投稿者/ επιστημη (2079回)-(2009/08/04(Tue) 16:19:26)
επιστημη さんの Web サイト
> if (input.Contains("眠い"))
> {
>         listBox1.SelectedIndex = listBox1.Items.Add("<寝てないの?>");
> 
>         if (input.Contains("うん")) { ... }
>         if (input.Contains("いいえ")) { ... }
> }
> ...
> ここで止まってしまって、「うん」というキーワードに反応してくれません。

入力が"眠い"を含まぬ限り、"うん"/"いいえ"の判定にたどり着かんコードになってますからねぇ。

> 「うん」や「いいえ」に対して反応を返すようにしたいのですが、どのようにすればよいでしょうか?

"眠い"判定に先立って、あらかじめ"うん"/"いいえ"判定を済ませておけばいいですねぇ。

引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -