Для школьных заданий мы должны создать небольшую программу, которая использует метод bool для вычисления, является ли число простым или нет.Он также должен проверить, является ли число отрицательным.Если введен 0, он перестанет спрашивать цифры и завершит программу.(Я добавил скриншот с заданием)
Мне удалось выполнить проверку Prime.Когда я ввожу отрицательное число, оно будет отображать: Отрицательное число, после этого оно все равно будет вычислять, простое ли это да или нет.То же самое с окончанием программы.Сначала он вычисляет, является ли 0 простым числом, а затем заканчивает его.
Как мне это исправить?
Это мой код:
static void Main(string[] args)
{
int entered_number = 1;
while (entered_number != 0)
{
//ask for user entry
Console.Write("enter a number: ");
entered_number = int.Parse(Console.ReadLine());
if (entered_number < 0)
{
Console.WriteLine("Number is negative");
}
//variable for subprogram
bool prime = IsPrimeNumber(entered_number);
//output
if (prime == true)
{
Console.WriteLine("Number is Prime");
}
else if (prime == false)
{
Console.WriteLine("Number is not Prime");
}
}
Console.WriteLine("End of program");
Console.ReadKey();
}
//subprogram
static bool IsPrimeNumber(int entered_number)
{
//count
int count = 0;
for (int i = 1; i <= entered_number; i++)
{
if (entered_number % i == 0)
{
count++;
}
}
if (count == 2)
{
return true;
}
else if (count != 2 && entered_number != 0)
{
return false;
}
return false;
}
Если кто-то знает, как, пожалуйста, дайте мне знать.
С уважением,
Макс ван Кекерен