Question 1. Write your solution in file Q1.java. Use Q1Test.java to test your so
ID: 3719361 • Letter: Q
Question
Question 1. Write your solution in file Q1.java. Use Q1Test.java to test your solution. Write a Java program using do-while loop that asks the user to continuously enter a number until the user enters 0. When the user enters 0, the program prints how many numbers user has entered, the sum of the entered numbers and their average.
Example
Enter a number: 2
Enter a number: 3
Enter a number: 0
You have entered 2
Sum = 5.0
Average = 2.5
Enter a number: ?5 Enter a number: ?3 Enter a number: 2 Enter a number: 0
You have entered 3 Sum = ?6.0
Average = ?2.0
Question 1. Write your solution in file Q1.java. Use Q1Test.java to test your solution. Write a Java program using do-while loop that asks the user to continuously enter a number until the user enters 0. When the user enters 0, the program prints how many numbers user has entered, the sum of the entered numbers and their average.
Example
Enter a number: 2
Enter a number: 3
Enter a number: 0
You have entered 2 numbers.
Sum = 5.0
Average = 2.5
Enter a number: ?5
Enter a number: ?3
Enter a number: 2
Enter a number: 0
You have entered 3 numbers.
Sum = ?6.0
Average = ?2.0
Q1.java:
import java.io.IOException;
import java.io.PrintWriter;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.TestWatcher;
import org.junit.runner.Description;
import org.junit.runner.JUnitCore;
import org.junit.runner.Result;
public class Q1Test extends student.TestCase {
static JUnitCore junitCore;
static Class<?> testClasses;
double s = 5;
double a = 2.5;
@Test
public void testCase1() {
setSystemIn("3", "2", "0");
Q1.main(null);
assertEquals("Enter a number: Enter a number: Enter a number: You have entered 2 numbers. Sum = " + s
+ " Average = " + a + " ", systemOut().getHistory());
}
double s1 = -6;
double a1 = -2;
@Test
public void testCase2() {
setSystemIn("-5", "-3", "2", "0");
Q1.main(null);
assertEquals(
"Enter a number: Enter a number: Enter a number: Enter a number: You have entered 3 numbers. Sum = "
+ s1 + " Average = " + a1 + " ",
systemOut().getHistory());
}
double i2 = 1.5;
@Test
public void testCase3() {
setSystemIn(i2 + "", "0");
Q1.main(null);
assertEquals("Enter a number: Enter a number: You have entered 1 numbers. Sum = " + i2 + " Average = " + i2
+ " ", systemOut().getHistory());
}
}
Explanation / Answer
Q1.java
package com.src;
import java.util.ArrayList;
import java.util.Scanner;
public class Q1 {
public static void main(String[] args) {
ArrayList<Integer> numbers = new ArrayList<>();
Scanner sc = new Scanner(System.in);
int num;
do {
System.out.print("Enter a number:");
num = sc.nextInt();
if(num != 0)
numbers.add(num);
}while(num != 0);
System.out.println("You have entered " + numbers.size());
int sum=0;
for(Integer i: numbers) {
sum += i;
}
System.out.println("Sum = " + sum);
System.out.println("Average = "+ (double)sum/numbers.size());
}
}
//output:
Enter a number:3
Enter a number:2
Enter a number:0
You have entered 2
Sum = 5
Average = 2.5
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.