我有一些像这样的代码。 任何人都可以为我解释为什么" while loop"不停。它保持显示的结果超过平衡。
static void Main(string[] args)
{
const double balance = 303.91;
const double phonePrice = 99.99;
double a = 0;
while (a < balance )
{
a = a + phonePrice;
}
Console.WriteLine(a);
Console.ReadLine();
}
答案 0 :(得分:3)
它完全符合您所写的内容 当a大于balance时,循环结束,然后打印变量
如果您希望在用完资金之前停止循环,那么您需要更改循环退出条件
static void Main(string[] args)
{
const double balance = 303.91;
const double phonePrice = 99.99;
double a = 0;
// You don't want to run out of money, so check if buying
// another phone will bankrupt your finances....
while ((a + phonePrice) < balance )
{
a = a + phonePrice;
}
Console.WriteLine(a); // a = 299,97
Console.ReadLine();
}
答案 1 :(得分:1)
您正在检查添加后的值,因此首先添加,然后检查 int w = 0;
int h = 0;
foreach (Control x in Tab_Control.Controls)
{
if (x.Bounds.Right > w) w = x.Bounds.Right;
if (x.Bounds.Bottom > h) h = x.Bounds.Bottom;
}
Tab_Control.Size = new Size(w, h);
Form1.Size = new Size(w, h);
是否大于a
,以便balance
添加一次额外的手机价格。做你的while循环
a