上一章我们说到掷骰子需要声明数不胜数的变量
这章我们学习数组并模拟丢6个骰子的点数和
声明
声明一个int类型的数组:
int[]val;
变量名前面就是这个变量的类型,如果要创建数组,就在类型后面加一对中括号
我举个例子,变量名前面的内容就是他的类型,所以数组本身也是一种类型
那么就有:
int[][]val;
这是数组的数组,如果你想你还可以继续套娃
赋值
你声明了一个变量,接下来你要为它赋值
val=new int[31];
31是指把31个int变量打包变成数组,你可以写任何正整数。
使用
你现在获得了一个打包的int,但你需要的不是一个数组,而是int类型的数据。那么就要拆开这个包
val[0]=12
Console.WriteLine(val[0]);
val[0]
val[1]
val[2]
…
val[30]
这些就是你刚才打包生成的变量。他们是独立的31个互不干扰的变量
这里中括号里的数字可以叫索引,也可以叫下标
范围
你刚才声明了一个31个int类型数据的数组
那么val后面的中括号就可以写从0开始数31个数,也就是0-30
如果你写了超过这个范围的数字无论-1还是31都会报错
而且不管你是使用还是赋值,任何方式,只要出现了就会报错
用数组完成丢6个骰子点数和的结果
Random rd = new Random();
int[] val = new int[31];
for (int i = 0, p = 0; i < 100000; i++, p = 0)
{
for (int j = 0; j < 6; j++)
p += rd.Next(6);
val[p]++;
}
for (int i = 0; i < val.Length; i++)
{
Console.WriteLine(i + 6 + ":\t" + val[i]);
}
因为结果可以直接写在下标里面,switch也不需要了