编写一个程序,在其中声明一个包含五个整数的数组,并在数组中存储五个值。编写一个try块,在其中放置一个试图访问数组中每个元素的循环,将下标从0递增到10。创建一个捕获最终IndexOutOfRangeException的catch块;在街区内,在屏幕上显示“现在你走得太远了。”将文件另存为GoTooFar.cs。
我问这个是因为我不明白粗体引用的含义。我的英语有点可怕,所以这就是为什么我不能很好地理解词汇。
我本周末不能和他联系,应该在周一开课前到期。
编辑:感谢您的澄清。
答案 0 :(得分:4)
使用来自0..10
的for循环?
它将循环遍历数组中的前5个元素,然后抛出你应该捕获的IndexOutOfRangeException
。
答案 1 :(得分:4)
你有一个数组[5],对吗? 实施例
2
5
1
0
9
现在他要求从0开始循环(因为数组/列表从0开始,非 1)到10,但是你只有5个值。所以当你试图访问六个因为这个原因你必须在try / cacth块中实现新循环,因此CIL会为你提供异常的数组元素。在catch块中,您可以捕获一般异常Exception ex
,但在这种情况下,您可以知道异常是什么(IndexOutOfRangeException ex
)。
编辑1
如果你想更好地完成程序,我建议检查输入是否正确,因为如果用户键入一个字符串(例如"goofy"
)并且不管理Exception,你将收到运行时错误。有三种选择(我建议你先练习)
答案 2 :(得分:2)
这意味着您应该创建一个从0到10的循环,并在从循环内的数组访问项目时使用循环计数器作为索引。
通常在循环遍历数组中的项时,使用数组的长度来确定应循环的距离。在这种情况下,您不应该这样做,因为练习的目的是循环到数组的有效索引之外。
答案 3 :(得分:0)
非常感谢大家。如果您有任何人需要未来的代码,那么这里是代码。
numbers[0] = 1;
numbers[1] = 5;
numbers[2] = 4;
numbers[3] = 9;
numbers[4] = 3;
for (int i = 0; i < 10; i++)
{
try
{
textBox1.AppendText(numbers[i].ToString() + "\n");
}
catch (IndexOutOfRangeException)
{
MessageBox.Show("Now you're gone too far.");
break;
}
}