我想实现一个代码,该代码从列表框中获取插入的值并在文本框中显示为素数。不幸的是,我的文本框仅显示素数的索引。
private void primnr()
{
int n = listBox1.Items.Count;
for(int i=2; i<=n; i++)
{
bool prim = true;
for (int j=2; j <i/2; j++)
{
if (i % j == 0)
{
prim = false;
break;
}
}
if (prim)
textBox2.Text = textBox2.Text + "Numerele prime:" + i + Environment.NewLine ;
}
}
您正在打印索引i
。要打印号码本身,请使用listBox1.Items[i]
private void primnr()
{
int n = listBox1.Items.Count;
for(int i=2; i<=n; i++)
{
bool prim = true;
for (int j=2; j <i/2; j++)
{
if (i % j == 0)
{
prim = false;
break;
}
}
if (prim)
textBox2.Text += "Numerele prime:" + listBox1.Items[i] + Environment.NewLine;
}
}
假设您的组合项目中有数字,则应在该索引位置访问该项目,在您的情况下为“ i”
如果(素数)textBox2.Text = textBox2.Text +“数字素数:” + listBox1.Items [i] .ToString()+ Environment.NewLine;
当我把这行textBox2.Text = textBox2.Text + "Numerele prime:" + listBox1.Items[i] + Environment.NewLine ;
它显示此错误:System.ArgumentOutOfRangeException:'InvalidArgument =值'2'对于'index'无效。参数名称:index'