whileループに入ると、プログラムは行と列の値を取得せずに、インデックスから範囲外の例外をスローします。 GetIntでは、値が範囲内にあることを確認しながら、ユーザー入力を取得するための方法である2d配列のインデックスが範囲外の例外
while(filled>0)
{
row = getint("row: ");
row--;
column = getint("column: ");
column--;
fields[row, column]=getint("value: ");
filled--;
}
編集:範囲外のコードのみfields[row, column]
に発生する可能性があれば
static int getint(string question)
{
string temp;
int tempint=0;
while (check != 0)
{
check = 0;
Console.Write("\nPlease enter the {0}",question);
temp = Console.ReadLine();
if(!int.TryParse(temp, out tempint))
{
check++;
}
if(question.Length<14 & (tempint<1 | tempint>9))
{
check++;
Console.WriteLine("Invalid Input");
}
}
return tempint;
}
"行と列の値を取得しない"とはどういう意味ですか?私たちは、それらのメソッドが何をしているのか、あるいは 'フィールドの大きさが何であるかは分かりません。 [mcve]を入力してください。 –
whileループに入るとすぐに例外がスローされると、問題はおそらく 'getint()'にありますが、そのコードをインクルードできませんでした。 – itsme86
多くのコードが必要です。これは例えば下から上への読み方を意味していますか? –