Compare Average Scores and Find the Best Performing Group

Java Programming Language Array in java (Article) Array in java (Program)

49

Problem Statement:

You are given three different groups, and you need to determine which group has performed the best based on their average scores. Write a Java program that:

  1. Takes the average scores of three groups (Group 1, Group 2, and Group 3) as input.
  2. Compares the average scores.
  3. Outputs the group with the highest average score along with the score.

Requirements:

  • Your program should ask the user to enter the average score for each group.
  • After comparing the average scores, the program should display the group with the highest average.
  • If two or more groups have the same highest score, the program can select any of them as the "best" group.

Bonus Task:

  • Add an additional condition to handle the case where all three groups have the same score. In this case, output a message like: "All groups have the same score."

Given Input:

Enter the average score for Group 1: 75.5
Enter the average score for Group 2: 88.0
Enter the average score for Group 3: 83.5

Expected Output:

The best performing group is Group 2 with an average score of: 88.0
asdasd
Figure: dasd

Program:

<span class="kwd">import</span><span class="pln"> java</span><span class="pun">.</span><span class="pln">util</span><span class="pun">.</span><span class="typ">Scanner</span><span class="pun">;</span><span class="pln">

</span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">class</span><span class="pln"> </span><span class="typ">BestPerformingGroup</span><span class="pln"> </span><span class="pun">{</span><span class="pln">

    </span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">static</span><span class="pln"> </span><span class="kwd">void</span><span class="pln"> main</span><span class="pun">(</span><span class="typ">String</span><span class="pun">[]</span><span class="pln"> args</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="typ">Scanner</span><span class="pln"> scanner </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="typ">Scanner</span><span class="pun">(</span><span class="typ">System</span><span class="pun">.</span><span class="kwd">in</span><span class="pun">);</span><span class="pln">

        </span><span class="com">// Variables to store average scores for each group</span><span class="pln">
        </span><span class="kwd">double</span><span class="pln"> group1</span><span class="pun">,</span><span class="pln"> group2</span><span class="pun">,</span><span class="pln"> group3</span><span class="pun">;</span><span class="pln">

        </span><span class="com">// Input the average scores for Group 1, Group 2, and Group 3</span><span class="pln">
        </span><span class="typ">System</span><span class="pun">.</span><span class="kwd">out</span><span class="pun">.</span><span class="kwd">print</span><span class="pun">(</span><span class="str">"Enter the average score for Group 1: "</span><span class="pun">);</span><span class="pln">
        group1 </span><span class="pun">=</span><span class="pln"> scanner</span><span class="pun">.</span><span class="pln">nextDouble</span><span class="pun">();</span><span class="pln">

        </span><span class="typ">System</span><span class="pun">.</span><span class="kwd">out</span><span class="pun">.</span><span class="kwd">print</span><span class="pun">(</span><span class="str">"Enter the average score for Group 2: "</span><span class="pun">);</span><span class="pln">
        group2 </span><span class="pun">=</span><span class="pln"> scanner</span><span class="pun">.</span><span class="pln">nextDouble</span><span class="pun">();</span><span class="pln">

        </span><span class="typ">System</span><span class="pun">.</span><span class="kwd">out</span><span class="pun">.</span><span class="kwd">print</span><span class="pun">(</span><span class="str">"Enter the average score for Group 3: "</span><span class="pun">);</span><span class="pln">
        group3 </span><span class="pun">=</span><span class="pln"> scanner</span><span class="pun">.</span><span class="pln">nextDouble</span><span class="pun">();</span><span class="pln">

        </span><span class="com">// Determine the best-performing group</span><span class="pln">
        </span><span class="typ">String</span><span class="pln"> bestGroup </span><span class="pun">=</span><span class="pln"> </span><span class="str">"Group 1"</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">double</span><span class="pln"> highestAverage </span><span class="pun">=</span><span class="pln"> group1</span><span class="pun">;</span><span class="pln">

        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">group2 </span><span class="pun">&gt;</span><span class="pln"> highestAverage</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            bestGroup </span><span class="pun">=</span><span class="pln"> </span><span class="str">"Group 2"</span><span class="pun">;</span><span class="pln">
            highestAverage </span><span class="pun">=</span><span class="pln"> group2</span><span class="pun">;</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">

        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">group3 </span><span class="pun">&gt;</span><span class="pln"> highestAverage</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            bestGroup </span><span class="pun">=</span><span class="pln"> </span><span class="str">"Group 3"</span><span class="pun">;</span><span class="pln">
            highestAverage </span><span class="pun">=</span><span class="pln"> group3</span><span class="pun">;</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">

        </span><span class="com">// Bonus Task: Check if all groups have the same score</span><span class="pln">
        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">group1 </span><span class="pun">==</span><span class="pln"> group2 </span><span class="pun">&amp;&amp;</span><span class="pln"> group2 </span><span class="pun">==</span><span class="pln"> group3</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="typ">System</span><span class="pun">.</span><span class="kwd">out</span><span class="pun">.</span><span class="pln">println</span><span class="pun">(</span><span class="str">"All groups have the same score."</span><span class="pun">);</span><span class="pln">
        </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="com">// Output the result</span><span class="pln">
            </span><span class="typ">System</span><span class="pun">.</span><span class="kwd">out</span><span class="pun">.</span><span class="pln">println</span><span class="pun">(</span><span class="str">"\nThe best performing group is: "</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> bestGroup 
                </span><span class="pun">+</span><span class="pln"> </span><span class="str">" with an average score of: "</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> highestAverage</span><span class="pun">);</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">

        </span><span class="com">// Close the scanner</span><span class="pln">
        scanner</span><span class="pun">.</span><span class="pln">close</span><span class="pun">();</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">
</span><span class="pun">}</span>

Output:


                                        

Explanation:

  • Inputs:

    • The program takes the average scores for Group 1, Group 2, and Group 3 as input from the user using the Scanner.
  • Comparison:

    • The program compares the scores of the three groups and keeps track of the group with the highest score using the bestGroup variable.
  • Bonus Task:

    • If all the groups have the same score, it prints "All groups have the same score." instead of declaring a "best" group.
  • Output:

    • The group with the highest score is displayed along with the score.

Example Input/Output (Bonus Task):

Sample Input:

<span class="pln">
</span><span class="typ">Enter</span><span class="pln"> the average score </span><span class="kwd">for</span><span class="pln"> </span><span class="typ">Group</span><span class="pln"> </span><span class="lit">1</span><span class="pun">:</span><span class="pln"> </span><span class="lit">80.0</span><span class="pln">
</span><span class="typ">Enter</span><span class="pln"> the average score </span><span class="kwd">for</span><span class="pln"> </span><span class="typ">Group</span><span class="pln"> </span><span class="lit">2</span><span class="pun">:</span><span class="pln"> </span><span class="lit">80.0</span><span class="pln">
</span><span class="typ">Enter</span><span class="pln"> the average score </span><span class="kwd">for</span><span class="pln"> </span><span class="typ">Group</span><span class="pln"> </span><span class="lit">3</span><span class="pun">:</span><span class="pln"> </span><span class="lit">80.0</span><span class="pln">
</span>

Sample Output:

<span class="pln">
</span><span class="typ">All</span><span class="pln"> groups have the same score</span><span class="pun">.</span><span class="pln">
</span>

This assignment teaches the concepts of comparison logic and basic input/output handling in Java. The bonus task enhances their problem-solving skills by considering edge cases.


This Particular section is dedicated to Programs only. If you want learn more about Java Programming Language. Then you can visit below links to get more depth on this subject.