・アレンジ演習:p.140 array03.cs」の続きから p.140 array03.cs 補足【再掲載+α】 ・023行目などで用いている「Char.IsNumber(文字列s, 位置n)」は、文字列sの先頭を0文字目とした時のn文字目が、 数字かどうかを返すメソッド ・よって、位置nが0であれば、文字列の先頭文字が数字であればtrue、でなければfalseを返す ・これで事前にチェックすることで、int.Parseメソッドなどで数値化できる文字列かどうかがわかるので、 異常終了を防ぐことができる ・このプログラムでは、事前に1桁であることもチェックしているので、先頭文字のチェックだけで、 int.Parseメソッドで数値化できるかを判断できる アレンジ演習:p.140 array03.cs【再掲載+α】 ・if文の中で「Char.IsNumber(strClass, 0) != true」などとしているが、!Char.IsNumber(strClass, 0)」と シンプルにできることを確認しよう ・単項!演算子については、p.89参照 作成例 //アレンジ演習:p.140 array03.cs using System; class array03 { public static void Main() { string[,] Name = new string[2, 5] { {"田中六郎", "吉田一郎", "太田太郎", "粂井康孝", "岡田三郎"}, {"横田芳子", "池田和子", "目黒貴和子", "武田信子", "園田淳子"} }; int MyClass, No; string strClass, strNo; while (true) { Console.Write("クラスは—"); strClass = Console.ReadLine(); if (strClass.Length >= 2) { Console.WriteLine("入力は1桁のみです"); continue; } if (!Char.IsNumber(strClass, 0)) { //【変更】 Console.WriteLine("数字を入力してください"); continue; } MyClass = Int32.Parse(strClass); if (MyClass <= 0 || MyClass >= 3) { Console.WriteLine("クラスは1組か2組です"); continue; } break; } while (true) { Console.Write("出席番号は—"); strNo = Console.ReadLine(); if (strNo.Length >= 2)…
Read the full article