как часть программы iam writing, для пользователя необходимо ввести номер, чтобы получить факс. До сих пор у меня есть это:код для сообщения об ошибке, если используется десятичная запятая
number = Integer.parseInt(JOptionPane.showInputDialog("\nPlease enter the number you wish to obtain the factorial for"));
JOptionPane.showMessageDialog(null, "You entered the number: " + number);
count = (number - 1);
if(number > 1)
{
do
{
factorial = number * count;
JOptionPane.showMessageDialog(null, number + " * " + count + " = " + factorial);
count--;
number = factorial;
}
while(count > 0);
JOptionPane.showMessageDialog(null, number + " * " + count + " = " + factorial);
JOptionPane.showMessageDialog(null, "The facorial of " + number + " is " + factorial);
}
else if (number == 0)
{
JOptionPane.showMessageDialog(null, "Factorial of 0 is 1");
}
else if (number == 1)
{
JOptionPane.showMessageDialog(null, "Factorial of 1 is 1");
}
else if (number < 0)
{
JOptionPane.showMessageDialog(null, "Please enter a number equal to or greater than 0");
Это прекрасно работает, но вкратце это также включает сообщение об ошибке, предлагающее УО пользователя ввести целое число, когда число decmimal был использован, а также если письмо вводится. Я изо всех сил пытаюсь написать код для достижения этого.
Заранее спасибо
Райан
Целые числа не могут иметь десятичные точки. Вы должны использовать Double. –
Нижеприведенная тема для вас (обратите внимание, что принятый ответ не самый лучший, потому что он ловит исключения, даже если ничего не так, поэтому лучше всего использовать функцию StringUtils.isNumeric(). http://stackoverflow.com/ Вопросы/1102891/how-to-check-if-a-string-is-a-numeric-type-in-java –