输出框代码为
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分别为第一个参数,第二个参数,输出框没法出现值,为什么?
重复的问题,看我的回答:http://ask.csdn.net/questions/714037
首先,你的事件触发点应该是点击“找素数”按钮,然后结果输出,但是你的代码里面却是结果显示框的内容改变事件触发,虽然可以触发,但是不妥
其次,寻找素数的逻辑错误:素数是除了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);
}
}
}