为什么我的While循环在我的按钮内爆炸
本文关键字:我的 按钮 While 循环 为什么 | 更新日期: 2023-09-27 18:25:45
我今天决定坐下来,尝试制作一个简单的素数计数器程序,输入两个素数的子素数,然后程序告诉你用来得到乘积的乘数。尽管它似乎崩溃了。经过注释掉代码的消除过程,我得出结论,一定是while循环导致整个程序崩溃。有人知道为什么这可能不起作用吗?
代码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace A_Prime
{
public partial class Form1 : Form
{
int multiplier1 = 1;
int multiplier2 = 1;
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
while (true)
{
int Product = multiplier1 * multiplier2;
label2.Text = multiplier1 + "x" + multiplier2 + "=" + Product;
string product = Product.ToString();
if (product == textBox1.Text)
{
label3.Text = "Your Multipliers Are" + multiplier1 + "x" + multiplier2;
}
else
{
multiplier1++;
multiplier2++;
}
}
}
}
}
您有一个无限循环。你永远不会突破你的while
循环,你需要一个break
语句。看看你的代码,看起来一旦你找到了乘数并设置了label3.Text
值,你就完成了,应该会跳出循环。
private void button1_Click(object sender, EventArgs e)
{
while (true)
{
int Product = multiplier1 * multiplier2;
label2.Text = multiplier1 + "x" + multiplier2 + "=" + Product;
string product = Product.ToString();
if (product == textBox1.Text)
{
label3.Text = "Your Multipliers Are" + multiplier1 + "x" + multiplier2;
break;
}
else
{
multiplier1++;
multiplier2++;
}
}
}
while循环中没有退出策略或条件。将任何退出条件与关键字一起引入
if(exit_condition)
break;
while循环执行其余代码的条件始终为true。正如我所看到的,你的代码中没有任何部分可以改变bool值,所以你有一个无限循环。。。尝试更改while循环条件。
你的循环中没有中断,你只得到具有自然数平方根的数字,因为你在循环中只计算n^2