我用c#的类进行程序设计,求10个数的数组的和,程序代码如下:
namespace vcp
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
}
private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter) { array s=new array();double y=s.sum();label1.Text=y.ToString(); }
}
private void Form2_Load(object sender, EventArgs e)
{
label1.Text = "0";
}
}
class array
{private double a[];
public array()
{a=new double[10];
for(int i=0;i<10;i++)
a[i]=i*50;
}
public double sum()
{double y=0;
for(int i=0;i<10;i++)
y=y+a[i];
return y;
}
}
}
就是求0,50,100,150,等差数列前10项的和,我想用动态数组进行的程序设计,因为我的数组的个数是一个变量,但是程序老师运行不了,怎么回事,拜托了各位。
程序发生错误说明: 语法错误,错误的数组声明符。要声明托管数组,秩说明符应位于变量标识符之前。要声明固定大小缓冲区字段,应在字段类型之前使用 fixed 关键字。E:\vc\vcp\vcp\Form2.cs3919vcp
下面这句错了:
private double a[];应改为下面这样编译才不会错
private double[] a;数组动态,可以用ArrayList对象,需要引用
using System.Collections;声明及在数组中插入值:
ArrayList list = new ArrayList();list.Add(15);
list.Add(60);
list.Add(9);
取数组中第n个值
int a = (int)list[n];按你的思路改过以后,程序编译后可以运行,但是标签中显示的是0,而不是求数组的和,怎么回事啊?
private double[] a;//数组是这么声明的追问
按你的思路改过以后,程序编译后可以运行,但是标签中显示的是0,而不是求数组的和,怎么回事啊?
追答那就是窗口的逻辑有问题,在class array里面我只改了我说的那个地方,我用控制台调用.sum()输出2250。
本回答被提问者采纳