이 코드는 실행될 때 완전히 루프되어야하지만, 루프는 완벽하게 실행되지 않습니다. 그러나 루프를 추가하면 첫 번째 부분은 정상적으로 작동하지만 다른 번호를 입력하면 이전과 똑같은 결과가 표시됩니다 결코 바뀌지 않으며, 그것이 예정되어있을 때 끝나지도 않습니다. 그것은 어리석은 것처럼 보일지 모르지만 나는 이것에 대해 새로운 사람입니다. 틀린 종류의 루프를 사용하고 있습니까?이 루프를 잘못 만들었습니까?
using System;
class FizzBuzz
{
//Global variables
int fizzCount;
int buzzCount;
int fizzbuzzCount;
int primeCount;
public bool IsFizz(int input)
{
if (input % 9 ==0)
{
fizzCount++; //Add 1 to fizzCount
return true;
}
else
{
return false;
}
}
public bool IsBuzz(int input)
{
if (input % 13 ==0)
{
buzzCount++; //Add 1 to buzzCount
return true;
}
else
{
return false;
}
}
public bool IsFizzBuzz(int input)
{
if ((input % 13 ==0) && (input % 9 ==0))
{
fizzbuzzCount++; //Add 1 to fizzbuzzCount
return true;
}
else
{
return false;
}
}
public bool IsPrime(int input)
{
for(int i = 2; i < input; i++)
{
if (input % i ==0)
{
return false;
}
}
primeCount++; //Add 1 to primeCount
return true;
}
public void BeginTesting()
{
fizzCount = 0; //Resets fizzCount
buzzCount = 0; //Resets buzzCount
fizzbuzzCount = 0; //Resets fizzbuzzCount
primeCount = 0; //Resets primeCount
}
public int TotalFizz()
{
return fizzCount;
}
public int TotalBuzz()
{
return buzzCount;
}
public int TotalFizzBuzz()
{
return fizzbuzzCount;
}
public int TotalPrime()
{
return primeCount;
}
public static void Main()
{
Console.WriteLine("Please enter a number ");
int input;
string inputString;
inputString = Console.ReadLine();
input = int.Parse(inputString);
while(input !=0)
{
FizzBuzz fizzbuzz = new FizzBuzz();
Console.WriteLine("IsFizz " + fizzbuzz.IsFizz(input)); //Shows if IsFizz is true or false
Console.WriteLine("IsBuzz " + fizzbuzz.IsBuzz(input)); //Shows if IsBuzz is true or false
Console.WriteLine("IsFizzBuzz " + fizzbuzz.IsFizzBuzz(input)); //Shows if IsFizzBuzz is true or false
Console.WriteLine("IsPrime " + fizzbuzz.IsPrime(input)); //Shows if IsPrime is true or false
Console.WriteLine("Fizz Count total is " + fizzbuzz.TotalFizz()); //Shows the total amount of Fizz counters
Console.WriteLine("Buzz Count total is " + fizzbuzz.TotalBuzz()); //Shows the total amount of Buzz counters
Console.WriteLine("FizzBuzz Count total is " + fizzbuzz.TotalFizzBuzz()); //Shows the total amount of FizzBuzz counters
Console.WriteLine("Prime Count total is " + fizzbuzz.TotalPrime());
Console.WriteLine("Please enter another number or press 0 to exit");//Shows the total amount of Prime counters
inputString = Console.ReadLine();
}
}
}
당신은 설정되지 않은'input', 단지'inputString'가 ... 뭔가에 마지막 줄을 변경'입력 = int.Parse (Console.ReadLine());'. –