qq_43412960
2018-11-20 11:43
采纳率: 79.1%
浏览 380

关于C#窗口的简单问题

图片说明
输出框代码为
private void textBox3_TextChanged(object sender, EventArgs e)
{
int a = int.Parse(this.num1.Text);
int b = int.Parse(this.num2.Text);
for (int i = a; i <= b; i++)
for (int j = 1; j < i; j++)
{
if (i % j == 0)
break;
else
{
num3.Text = i.ToString();
MessageBox.Show("{0} ", num3.Text);

                }
            }
        {

        }

    }

num1,num2分别为第一个参数,第二个参数,输出框没法出现值,为什么?

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • threenewbee 2018-11-20 14:00
    已采纳

    重复的问题,看我的回答:http://ask.csdn.net/questions/714037

    已采纳该答案
    打赏 评论
  • cocokaka27 2018-11-20 12:51

    首先,你的事件触发点应该是点击“找素数”按钮,然后结果输出,但是你的代码里面却是结果显示框的内容改变事件触发,虽然可以触发,但是不妥
    其次,寻找素数的逻辑错误:素数是除了1和它本身,没有公约数的自然数。你的寻找公约数的for循环却是从1开始,所以范围内的数都在第一个判断语句break,自然就看不到你想要的结果。
    参考:
    private void button1_Click(object sender, EventArgs e)
    {
    int a = int.Parse(this.num1.Text);
    int b = int.Parse(this.num2.Text);
    for (int i = a; i <= b; i++)
    for (int j = 2; j < i; j++)
    {
    if (i % j == 0)
    break;
    else if (j == i - 1)
    {
    num3.Text += i.ToString() + "\r\n";
    //MessageBox.Show("{0} ", num3.Text);
    }

    }
    }

    打赏 评论

相关推荐 更多相似问题