В настоящее время я работаю над небольшим проектом для вводного Java-класса.Мы должны создать программу, которая может принимать целое число от пользователя и выводить число шансов, четных и нулевых значений, присутствующих в коде.Мне это показалось довольно простым, и мне удалось реализовать код, но одноклассник, после того как я раскритиковал его код за неправильное следование подсказке, заметил, что мой код зависнет, если будет введено что-либо, кроме цифр.
Несмотря на это, я попытался выйти за рамки приглашения и заставить программу вывести сообщение об ошибке, если она встречает символы помимо цифр (вместо того, чтобы мой компилятор возвращал ошибку).Однако я возвращаю несколько ошибок в компиляторе Eclipse при использовании метода isDigit в классе Character.
Я не знаю точно, что является причиной этого, и мне кажется, что я упускаю что-то важное, но мой учительоткровенно говоря, недостаточно квалифицирован, чтобы понять, что является причиной ошибки, и ни один из моих одноклассников не может понять это тоже.
package ppCH5;
import java.util.Scanner;
public class PP5_3
{
public static void main(String[]args)
{
int even = 0;
int odd = 0;
int zero = 0;
int num = 0;
int count = 0;
boolean inputError = false;
System.out.println("please provide some integer");
Scanner scan = new Scanner(System.in);
String numbers = scan.next();
scan.close();
Scanner intSeperate = new Scanner(numbers);
intSeperate.useDelimiter("");
while(intSeperate.hasNext())
{
if(Character.isDigit(numbers.charAt(count)))
{
count++;
num = intSeperate.nextInt();
if((num % 2)==1)
odd++;
if((num % 2)==0)
if(num==0)
zero++;
else
even++;
}
else
{
count++;
inputError = true;
}
}
intSeperate.close();
if(!inputError)
{
System.out.println("There are " + even + " even digits.\n" + odd + " odd digits.\nAnd there are " + zero + " zeros in that integer.");
}
else
{
System.out.println("You have provided a disallowed input");
}
}
}
Любая помощь будет оценена, я в настоящее время в растерянности.