【发布时间】:2013-10-27 12:09:28
【问题描述】:
感谢您在最后几个问题中的所有帮助!我想我只剩下一个问题了。出于某种原因,它不会打印 countOfX 变量的值?据我所知,它应该可以工作,所以显然我缺少一些东西!
希望至少有人能指出我正确的方向。非常感谢任何帮助。
using System
namespace Part1Skeleton
{
class FizzBuzz
{
int countOfFizz;
int countOfBuzz;
int countOfFizzBuzz;
int countOfPrime;
public static void Main()
{
int input = 1;
//string enter;
FizzBuzz fb = new FizzBuzz();
fb.BeginTesting();
while (input <= 20)
{
//Console.WriteLine("Please enter a number: ");
//enter = Console.ReadLine();
//input = int.Parse(enter);
fb.BeginTesting();
fb.IsFizz(input);
fb.IsBuzz(input);
fb.IsFizzBuzz(input);
fb.IsPrime(input);
input++;
}
fb.TotalFizz();
fb.TotalBuzz();
fb.TotalFizzBuzz();
fb.TotalPrime();
}
public bool IsFizz(int input)
{
if (input % 9 == 0 && input != 0)
{
Console.WriteLine("Fizz");
countOfFizz++;
return true;
}
return false;
}
public bool IsBuzz(int input)
{
if (input % 13 == 0 && input != 0)
{
Console.WriteLine("Buzz");
countOfBuzz++;
return true;
}
return false;
}
public bool IsFizzBuzz(int input)
{
if (input % 9 == 0 && input % 13 == 0 && input != 0)
{
Console.WriteLine("FizzBuzz");
countOfFizzBuzz++;
return true;
}
return false;
}
public bool IsPrime(int input)
{
if (input == 0 || input == 1)
{
Console.WriteLine(input);
return false;
}
else if (input % 9 == 0 || input % 13 == 0)
{
return false;
}
else
{
for (int i = 2; i < input; i++)
{
if (input % i == 0 && i != input)
{
Console.WriteLine(input);
return false;
}
}
}
Console.WriteLine("Prime");
countOfPrime++;
return true;
}
public void BeginTesting()
{
countOfFizz = 0;
countOfBuzz = 0;
countOfFizzBuzz = 0;
countOfPrime = 0;
}
public int TotalFizz()
{
Console.WriteLine("Number of Fizz: ");
Console.Write(countOfFizz);
return countOfFizz;
}
public int TotalBuzz()
{
Console.WriteLine("Number of Buzz: ");
Console.Write(countOfBuzz);
return countOfBuzz;
}
public int TotalFizzBuzz()
{
Console.WriteLine("Number of FizzBuzz: ");
Console.Write(countOfFizzBuzz);
return countOfFizzBuzz;
}
public int TotalPrime()
{
Console.WriteLine("Number of Prime: ");
Console.Write(countOfPrime);
return countOfPrime;
}
}
}
【问题讨论】:
-
预期输出是什么?为什么有些行被注释掉了?
-
您没有在您已完成任何工作的 FizzBuzz 类的相同实例上调用 Total 方法!你为什么要创造这么多——你的意图是什么?为什么不一开始就做一个,然后调用所有的方法呢?
-
同意@Rup 为什么要创建这么多对象,然后在差异对象上调用每个 on 方法?
-
@Ofiris 这些行被注释掉了,因为最终它会输入一个随机数来检查,所以我想要一个可以输入它们的地方。但为了使用前 20 个数字测试 im。
-
@EmmadKareem 我用 countOfX 代表 countOfFizz 等...