列表框中的素数应该出现在文本框中

问题描述 投票:0回答:2

我想实现一个代码,该代码从列表框中获取插入的值并在文本框中显示为素数。不幸的是,我的文本框仅显示素数的索引。

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 ;
        }



    }
c# visual-studio textbox listbox c#-3.0
2个回答
0
投票

您正在打印索引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;
    }
}

0
投票

假设您的组合项目中有数字,则应在该索引位置访问该项目,在您的情况下为“ i”

如果(素数)textBox2.Text = textBox2.Text +“数字素数:” + listBox1.Items [i] .ToString()+ Environment.NewLine;


0
投票

当我把这行textBox2.Text = textBox2.Text + "Numerele prime:" + listBox1.Items[i] + Environment.NewLine ;它显示此错误:System.ArgumentOutOfRangeException:'InvalidArgument =值'2'对于'index'无效。参数名称:index'

© www.soinside.com 2019 - 2024. All rights reserved.