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

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

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

処理を繰り返しについて

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

■86164 / inTopicNo.1)  処理を繰り返しについて
  
□投稿者/ 麒麟 (1回)-(2017/12/22(Fri) 11:27:17)

分類:[C#] 

初めまして。プログラミング初心者です。
キーボード入力されたものが、整数かそうではないか判断し「exit」をいれたら処理を終わらすプログラムを書こうと思ってますがうまく処理を繰り返すことができません。
アドバイスをいただけませんでしょうか。
-------
    class Program
    {
        static void Main(string[] args)
        {
            {
                    Console.WriteLine("入力が数値がどうかチェック");
                    Console.WriteLine("抜けるにはexit");
                    Console.WriteLine("数値を入力してください。");
                    String str = Console.ReadLine();
                    int num;
                while(str == "exit") { 
                    if (int.TryParse(str, out num))
                    {
                        Console.WriteLine("{0}は数字です",str);
                    }
                    else
                    {
                        Console.WriteLine("{0}は数値ではないです", str);
                    }
                }
            }
        }
    }
}
-------
意図としてはwhileの終了条件式をstr == "exit"して、それ以外の文字は判定を繰り返すと思ってたのですが、、、

よろしくお願いします。


引用返信 編集キー/
■86165 / inTopicNo.2)  Re[1]: 処理を繰り返しについて
□投稿者/ みい (76回)-(2017/12/22(Fri) 11:52:24)
No86164 (麒麟 さん) に返信
入力を繰り返したいのですよね。
であれば入力はwhile文の中にないと繰り返されませんよね。
引用返信 編集キー/
■86167 / inTopicNo.3)  Re[2]: 処理を繰り返しについて
□投稿者/ チャボ (1回)-(2017/12/22(Fri) 12:31:18)
No86165 (みい さん) に返信

そこで無限ループですよ

Console.WriteLine("入力が数値がどうかチェック");
Console.WriteLine("抜けるにはexit");
Console.WriteLine("数値を入力してください。");

while(true)
{
    String str = Console.ReadLine();

    if (str == "exit")
    {
        break;
    }

    int num;
    if (int.TryParse(str, out num))
    {
        Console.WriteLine("{0}は数字です",str);
    }
    else
    {
        Console.WriteLine("{0}は数値ではないです", str);
    }
}

引用返信 編集キー/
■86168 / inTopicNo.4)  Re[1]: 処理を繰り返しについて
□投稿者/ チャボ (2回)-(2017/12/22(Fri) 12:33:41)
No86164 (麒麟 さん) に返信

> 意図としてはwhileの終了条件式をstr == "exit"して、それ以外の文字は判定を繰り返すと思ってたのですが、、、

whileに書くのは継続条件ですよん
引用返信 編集キー/
■86169 / inTopicNo.5)  Re[3]: 処理を繰り返しについて
□投稿者/ 麒麟 (2回)-(2017/12/22(Fri) 12:37:52)
みいさん
チャボさん

ありがとうございます。

なるほど
if (str == "exit")
をtrueににして、false側を処理に走らすといいのですね。

ありがとうございました。



No86167 (チャボ さん) に返信
> ■No86165 (みい さん) に返信
>
> そこで無限ループですよ
>
> Console.WriteLine("入力が数値がどうかチェック");
> Console.WriteLine("抜けるにはexit");
> Console.WriteLine("数値を入力してください。");
>
> while(true)
> {
> String str = Console.ReadLine();
>
> if (str == "exit")
> {
> break;
> }
>
> int num;
> if (int.TryParse(str, out num))
> {
> Console.WriteLine("{0}は数字です",str);
> }
> else
> {
> Console.WriteLine("{0}は数値ではないです", str);
> }
> }
>
解決済み
引用返信 編集キー/

このトピックをツリーで一括表示


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

このトピックに書きこむ