Write a method called evenNumbers that accepts a Scanner reading input from a file with a series of integers, and report various statistics about the integers to the console. Report the total number of numbers, the sum of the numbers, the count of even numbers and the percent of even numbers. For example, if the input file contains the following text:
5 7 2 8 9 10 12 98 7 14 20 22
Then the method should produce the following console output:
12 numbers, sum = 214
8 evens (66.67%)
Program:
import java.util.*;
import java.io.*;
public class Ch06Ex02
{
public static void main(String[] args) throws FileNotFoundException
{
Scanner input = new Scanner(new File("numbers.txt"));
evenNumbers(input);
input.close();
}
public static void evenNumbers(Scanner input)
{
int num;
int numsCount = 0;
int evensCount = 0;
int sumOfNumbers = 0;
while (input.hasNextInt())
{
num = input.nextInt();
numsCount++;
sumOfNumbers += num;
if (num % 2 == 0)
{
evensCount++;
}
}
System.out.println(numsCount + " numbers, sum = " + sumOfNumbers);
System.out.printf("%d evens (%.2f%%)\n", evensCount, ((double) evensCount / numsCount * 100.0));
}
}
Input file: numbers.txt
5 7 2 8 9 10 12 98 7 14 20 22
Output:
12 numbers, sum = 214
8 evens (66.67%)