下面是我写的一个小程序,可是运行时提示:
未处理的异常:System.IndexOutOfRangeException:索引超出了数组界限。
在fillin.gofillin(Int32[,] arr,Int32 number)
在test.Main()
//程序开始...........................................
using System;
class test
{
int[,] arr;
static void Main()
{
test mytest = new test();
int number;
number = int.Parse(Console.ReadLine());
mytest.arr = new int[number,number];
fillin myfillin = new fillin();
myfillin.gofillin(mytest.arr,number);
myfillin.print(mytest.arr,number);
Console.WriteLine();
}
}
class fillin
{
public void gofillin(int[,] arr,int number)
{int rownum,colnum,rownum_1,colnum_1;
for(int i=0;i<number;i++)
{for(int j=0;j<number;j++)
{arr[i,j]=0;}
}
rownum=0;colnum=number%2;
arr[rownum,colnum]=1;
for(int sum=2;sum<=number*number;sum++)
{
rownum_1=rownum-1;
if(rownum_1<0)rownum_1+=number;
colnum_1=colnum-1;
if(colnum_1<0)colnum_1+=number;
if(arr[rownum_1,colnum_1]!=0)
{
rownum=rownum_1;
colnum=colnum_1;
}
else
{
rownum++;
}
arr[rownum,colnum]=sum;
}
}
public void print(int[,] arr,int number)
{
for(int i=0;i<number;i++)
{
for(int j=0;j<number;j++)
{
Console.Write(arr[i,j]+" ");
}
Console.WriteLine();
}
}
}
哥哥姐姐请帮帮忙,谢谢.........