Последняя часть, которую я хочу добавить в эту программу, так что она будет повторяться после печати результатов до нажатия EOF. Вот мой кодКак повторить эту небольшую программу до EOF
public static void main(String args[])
{
Scanner stdin = new Scanner(System.in);
System.out.println("Please enter a positive integer > 2. Press EOF to quit: ");
int num = stdin.nextInt();
while(stdin.hasNextInt)
{
if(num < 3)
{
System.out.println("Your input " + num + " is not a positive integer > 2");
}
else
{
int prime = 0;int pnum = 0;int dnum = 0;int anum = 0;
for(int i = 2;i <= num;i++)
{
if(NumberClassifier.isPrime(i)==true)
{
prime++;
}
if(NumberClassifier.classify(i)==1)
{
pnum++;
}
else if(NumberClassifier.classify(i)==2)
{
dnum++;
}
else if(NumberClassifier.classify(i)==3)
{
anum++;
}
}
System.out.println("In the range of 2 - " + num + " there are:");
System.out.println(prime + " prime numbers");
System.out.println(pnum + " perfect numbers");
System.out.println(anum + " abundant numbers");
System.out.println(dnum + " deficient numbers");
System.out.println("Please enter a positive integer > 2. Press EOF to quit: ");
}
}
//System.out.println("Please enter a positive integer > 2. Press EOF to quit: "); (dont know where this should be)
}
Эта программа принимает целое число и работает диапазон 2 - целое число через 2 методов, которые рассчитывают на простое число, обильные, несовершенные и совершенные числа в диапазоне. Я просто хочу, чтобы вход был напечатан, а затем снова распечатайте инструкции и запустите до тех пор, пока не будет нажата кнопка EOF. Я попытался использовать цикл while, чтобы продолжать работу только в том случае, когда сканер имеет целое число, но это, похоже, не работает вообще. Любая помощь будет принята с благодарностью.
«Я попытался с помощью время цикла только продолжить программу в то время как сканер имеет целое, но это не показалось, что работает.» Пожалуйста, покажите нам код. – MikeCAT
добавил, но теперь его соберут людей, поскольку я не верю, что это близко к работе вообще – EScann15