</>

Technology

Java Programs

Difficulty

Beginner

Interview Question

Write a Java program to find the sum and average of elements in an array.

Answer

Sum and Average of Array Elements

Java
public class SumAndAverage {
    public static void main(String[] args) {
        int arr[] = { 10, 20, 30, 40, 50 };
        int sum   = 0;

        // Calculate sum
        for (int num : arr) {
            sum += num;
        }

        // Calculate average
        double average = (double) sum / arr.length;

        System.out.println("Array: " + java.util.Arrays.toString(arr));
        System.out.println("Sum:   " + sum);
        System.out.println("Count: " + arr.length);
        System.out.printf("Avg:   %.2f%n", average);
    }
}

Output

CODE
Array: [10, 20, 30, 40, 50]
Sum:   150
Count: 5
Avg:   30.00

Using Java 8 IntStream (One-liner)

Java
import java.util.IntSummaryStatistics;
import java.util.stream.IntStream;

int arr[] = { 10, 20, 30, 40, 50 };

int sum        = IntStream.of(arr).sum();          // 150
double avg     = IntStream.of(arr).average().getAsDouble();  // 30.0
int max        = IntStream.of(arr).max().getAsInt();         // 50
int min        = IntStream.of(arr).min().getAsInt();         // 10

IntSummaryStatistics stats = IntStream.of(arr).summaryStatistics();
System.out.println("Sum: " + stats.getSum());
System.out.println("Avg: " + stats.getAverage());
System.out.println("Max: " + stats.getMax());
System.out.println("Min: " + stats.getMin());
System.out.println("Count: " + stats.getCount());

Find Max and Min in Same Loop

Java
int arr[] = { 64, 34, 25, 12, 22, 11, 90 };
int sum = 0, max = arr[0], min = arr[0];

for (int num : arr) {
    sum += num;
    if (num > max) max = num;
    if (num < min) min = num;
}

System.out.println("Sum: " + sum);
System.out.println("Max: " + max);
System.out.println("Min: " + min);
System.out.printf("Avg: %.2f%n", (double) sum / arr.length);

Automation Testing Relevance

Java
// Calculate average response time from multiple API calls
List<Long> responseTimes = new ArrayList<>(Arrays.asList(120L, 95L, 150L, 88L, 130L));
long totalTime = responseTimes.stream().mapToLong(Long::longValue).sum();
double avgTime = responseTimes.stream().mapToLong(Long::longValue).average().getAsDouble();

System.out.printf("Avg response time: %.2f ms%n", avgTime);
assertTrue(avgTime < 200, "Average response time exceeds 200ms threshold");

Follow AutomateQA