Я должен создать программу формы и консольную программу для определения простых чисел. Я закончил программу формы, но у меня проблемы с программой консоли.Простое приложение для консольного приложения
Я чувствую, что я почти получил его работу, единственное, что иногда бывает, работает только каждый второй вход, а иногда ошибки все равно вызывают ошибку, даже если у меня есть оператор On Error.
Если кто-нибудь может объяснить мне, почему это происходит, я был бы благодарен. Я хочу понять, почему он делает то, что делает. Должен ли я, возможно, использовать Case Case, а не Do Loop?
Текущий код:
Module Module1
Sub Main()
System.Console.WriteLine("Enter a number from 1 to 10000 to find out if it's prime, Type END to exit")
ExitHere:
Do
On Error GoTo ErrorHandler
Dim UserInput As Integer = Integer.Parse(Console.ReadLine())
Dim IsItPrime As Boolean = False
Dim i As Integer
For i = 2 To (UserInput - 1)
If UserInput Mod i = 0 Then
IsItPrime = False
Exit For
End If
Next i
If i = UserInput Then
System.Console.WriteLine(UserInput & " is a Prime Number.")
Else
System.Console.WriteLine(UserInput & " is not a prime number.")
End If
Loop Until Console.ReadLine = "End"
Exit Sub
ErrorHandler:
Console.WriteLine("There seems to have been an error.")
GoTo ExitHere
End Sub
End Module
Посмотрите здесь: HTTP: //www.freevbcode.com/ShowCode.asp ID = 1059 –
Вам нужно только проверить/2, то все нечетные числа до SQRT (Входа #) –
также .. вам нужно проверить для себя ОДНОГО. Один не является простым числом. Тем не менее, ДВА, по-видимому, ... –