我有这个代码:
int maxPonty = 0;
string fogtaKi2 = "";
string melyikVersenyen2 = "";
while (enumerator.HasNext())
{
enumerator.Next();
int pontyokSzama = 0;
foreach (var fogas in enumerator.Fogasok)
{
pontyokSzama = 0;
if (fogas.Fajta == "Ponty")
{
pontyokSzama++;
}
}
if (pontyokSzama > maxPonty)
{
maxPonty = pontyokSzama;
fogtaKi2 = enumerator.Horgasz;
melyikVersenyen2 = enumerator.VersenyAzonosito;
}
}
if (maxPonty == 0)
{
Console.WriteLine("Nem fogtak pontyot a versenyeken!");
}
else
{
Console.WriteLine($"A legtöbb pontyot fogta: {fogtaKi2}, a(z) {melyikVersenyen2} versenyen, {maxPonty} db-ot.");
}
}
它的目的是确定捕获最多“ponty”鱼的“horgasz”。由于某种原因,计数器最后始终为 0,这使得代码返回错误的答案,即使文件在几个地方包含“Ponty”。
这是输入文件的一行:PETERÁK Zsófia1231 Csuka 34 Süllő 62 Ponty 48
奇怪的是,必须确定捕获的最大“Ponty”的这段代码工作正常:
double maxSuly = 0;
string fogtaKi = "";
string melyikVersenyen = "";
while (enumerator.HasNext())
{
enumerator.Next();
foreach (var fogas in enumerator.Fogasok)
{
if (fogas.Fajta == "Ponty" && fogas.Meret > maxSuly)
{
maxSuly = fogas.Meret;
fogtaKi = enumerator.Horgasz;
melyikVersenyen = enumerator.VersenyAzonosito;
}
}
}
if (maxSuly == 0)
{
Console.WriteLine("Nem fogtak pontyot a versenyeken!");
}
else
{
Console.WriteLine($"A legnagyobb ponty súlya: {maxSuly} kg, a(z) {melyikVersenyen} versenyen fogta ki: {fogtaKi}");
}
柜台可能有什么问题?