В настоящее время я пишу небольшое приложение, которое проверяет простые числа. Это графический интерфейс, но у меня есть одна проблема. Я добавил в программу некоторые ограничения, согласно которым пользователи могут вводить числа только с помощью обработчика исключений numberformate, но всякий раз, когда пользователь вводит число, длина которого превышает 9 цифр, он больше не считает его числом. Есть ли решение этой проблемы? Я оставил свой код ниже.
static void validation() // This is what happens when the "Check" button is clicked
{
// Retrieve information from the fields and print it out on the Frame
if (jtfX.getText().trim().length() == 0) // Check if the field is empty
{
jlSolution.setText("You have not entered anything yet");
}
else // Otherwise...
{
try // In general....
{
if (Long.parseLong(jtfX.getText()) < 0) // Check if it is a negative value
{
jlSolution.setText("The number you entered is less than zero");
}
else // If it isn't...
{
jlSolution.setText(new Algorithm(Integer.parseInt(jtfX.getText())).check()); // ....then check if this number is prime.
}
}
catch (NumberFormatException nfe) // ... always catch those who refuse to follow simple rules!
{
jlSolution.setText("Numerical values only please. " + "You entered: " + jtfX.getText());
}
}
}
check()
?ALGORITHM()
Одна вещь для более чем 9 цифр, вам нужно использоватьBigInteger
. - person Mukul Goel   schedule 27.10.2012long
достаточно для ваших целей, это гораздо меньшее изменение, чем использованиеBigInteger
. - person Daniel Fischer   schedule 27.10.2012