我目前正在通过Wrox C#书。但是,在显示Mandelbrot集的其中一个教程之后,我能够无错误地执行我的程序,但是在控制台中没有显示任何内容。我把它归结为我正在使用的开关的错误使用。有人能指出我正确的方向吗?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Ch03Ex06
{
class Program
{
static void Main(string[] args)
{
double realCoord, imagCoord;
double realTemp, imagTemp, realTemp2, arg;
int iterations;
for (imagCoord = 1.2; imagCoord >= -1.2; imagCoord -= 0.05)
{
for (realCoord = -0.6; realCoord <= 1.77; realCoord += 0.03)
{
iterations = 0;
realTemp = realCoord;
imagTemp = imagCoord;
arg = (realCoord * realCoord) + (imagCoord * imagCoord);
while ((arg < 4) && (iterations < 40));
{
realTemp2 = (realTemp * realTemp) - (imagTemp * imagTemp) - realCoord;
imagTemp = (2 * realTemp * realTemp) - imagCoord;
arg = (realTemp * realTemp) + (imagTemp * imagTemp);
iterations += 1;
}
switch (iterations % 4)
{
case 0:
Console.Write(".");
break;
case 1:
Console.Write("o");
break;
case 2:
Console.Write("O");
break;
case 3:
Console.Write("@");
break;
}
}
Console.Write("\n");
}
Console.ReadKey();
}
}
}
答案 0 :(得分:10)
我想程序会永远运行,因为这行
while ((arg < 4) && (iterations < 40));
;最后关闭这个while循环而不进入下一个块
答案 1 :(得分:1)
你有一个错字:
while ((arg < 4) && (iterations < 40));
必须删除
答案 2 :(得分:1)
这是你的问题,删除分号
while ((arg < 4) && (iterations < 40));