Beginner Java import java.util.Arrays; import java.util.Scanner; Arrays and scanner required. Suppose that a Scanner object contains a bunch of tokens all on a single line separated by spaces. For example: 100.5 65 pizza 100 45.75 70 5.8 5 Also suppose that you have two integers n and m that are both positive. For example: n = 5 and m = 10 Write a static method: public static double partialSum(Scanner s, int n, int m) that takes a Scanner and two integers n and m as arguments and returns the sum of the integers read by the Scanner that are divisible by n and not divisible by m. In the above example, the integers divisible by 5 and not divisible by 10 are 65 and 5, so the result would be 70. If the Scanner is empty, or no tokens are valid integers, the result should be 0. You can assume the Scanner is not null. It is probably easiest to test your method by creating a Scanner with a String instead of System.in. The starter code for an example of how to do this is public static void main(String[] args) { String tokens = "100.5 65 pizza 100 45.75 70 5.8 5"; scanner = new Scanner(tokens); int n = 5, m = 10, expected = 70; System.out.println("Expected partialSum for the tokens \"" + tokens + "\" and n = " + n + ", m = " + m + " to be " + expected + " and got " + partialSum(scanner, n, m)); { Tests to include in your main method: Test the above example with “100.5 65 pizza 100 45.75 70 5.8 5” as the tokens and n = 5 and m = 10. The result should be 70. Include tests that verify that invalid tokens (doubles and words) are filtered out and do not cause InputMismatchExceptions. Include a test where the Scanner is empty. The result should be zero.
Beginner Java
import java.util.Arrays;
import java.util.Scanner;
Arrays and scanner required.
Suppose that a Scanner object contains a bunch of tokens all on a single line separated by spaces. For example:
100.5 65 pizza 100 45.75 70 5.8 5
Also suppose that you have two integers n and m that are both positive. For example:
n = 5 and m = 10
Write a static method: public static double partialSum(Scanner s, int n, int m) that takes a Scanner and two integers n and m as arguments and returns the sum of the integers read by the Scanner that are divisible by n and not divisible by m.
In the above example, the integers divisible by 5 and not divisible by 10 are 65 and 5, so the result would be 70.
If the Scanner is empty, or no tokens are valid integers, the result should be 0. You can assume the Scanner is not null.
It is probably easiest to test your method by creating a Scanner with a String instead of System.in. The starter code for an example of how to do this is
public static void main(String[] args) {
String tokens = "100.5 65 pizza 100 45.75 70 5.8 5";
scanner = new Scanner(tokens);
int n = 5, m = 10, expected = 70;
System.out.println("Expected partialSum for the tokens \"" + tokens + "\" and n = " + n + ", m = " + m +
" to be " + expected + " and got " + partialSum(scanner, n, m));
{
Tests to include in your main method:
- Test the above example with “100.5 65 pizza 100 45.75 70 5.8 5” as the tokens and n = 5 and m = 10. The result should be 70.
- Include tests that verify that invalid tokens (doubles and words) are filtered out and do not cause InputMismatchExceptions.
- Include a test where the Scanner is empty. The result should be zero.
Trending now
This is a popular solution!
Step by step
Solved in 2 steps with 2 images