Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Okay so my question is how do I make this program end the input of data by holdi

ID: 3555526 • Letter: O

Question

Okay so my question is how do I make this program end the input of data by holding ctrl/press z and then press the Enter key on a line by itself? This is the program so far:

import java.util.Scanner;

public class ClassAverage
{
   public static void main(String args[])
   {
       String names[] = new String[50];
       int scores[] = new int[50];
       int entries = 0;

       Scanner sc = new Scanner(System.in);
       //System.out.println("Entre number of entries");
       //int entry = sc.nextInt();

       System.out.println("Enter the names followed by scores of students: ");
     
       for(int i = 0; i < 50; i++)
       {
           names[i] = sc.next();
           scores[i] = sc.nextInt();
           entries++;
       }
       Average avg = new Average();
       double average = avg.CalcAvg(scores,entries);

       System.out.println("The class average is: " + average);
       avg.belowAvg(scores,average,names,entries);
       avg.highestScore(scores,names, entries);
   }
}
class Average
{
   Average()

   {
       System.out.println("The averages: ");
   }
   double CalcAvg(int scores[], int entries)
   {
       double avg;
       int total = 0;
     
       for(int i = 0; i < entries; i++)
       {
           total += scores[i];
       }
           avg = total/entries;
       return avg;
   }

   void belowAvg(int scores[],double average,String names[], int entries)
   {
       for(int i = 0; i < entries; i++)
       {
           if(scores[i] < average)
         
               System.out.println(names[i] + "You're below class average");

       }
   }

   void highestScore(int scores[],String names[], int entries)
   {
       int max = scores[1];
     
       for(int i = 0; i < entries; i++)
       {
           if(scores[i]>=max)
               max=scores[i];
       }
       System.out.println("The maximum score is: " + max);
       System.out.println("The highest score acheivers list: ");
     
       for(int i = 0; i < entries; i++)
       {
           if(scores[i] == max)
               System.out.println(names[i]);
       }
   }

}

Explanation / Answer

import java.util.NoSuchElementException;
import java.util.Scanner;

public class ClassAverage
{
public static void main(String args[])
{
String names[] = new String[50];
int scores[] = new int[50];
int entries = 0;

Scanner sc = new Scanner(System.in);
//System.out.println("Entre number of entries");
//int entry = sc.nextInt();

System.out.println("Enter the names followed by scores of students: ");

for(int i = 0; i < 50; i++)
{
  
   try{names[i] = sc.next();
scores[i] = sc.nextInt();
entries++;}
   catch(NoSuchElementException e ){
       break;
   }
}
Average avg = new Average();
double average = avg.CalcAvg(scores,entries);

System.out.println("The class average is: " + average);
avg.belowAvg(scores,average,names,entries);
avg.highestScore(scores,names, entries);
}
}
class Average
{
Average()

{
System.out.println("The averages: ");
}
double CalcAvg(int scores[], int entries)
{
double avg;
int total = 0;

for(int i = 0; i < entries; i++)
{
total += scores[i];
}
avg = total/entries;
return avg;
}

void belowAvg(int scores[],double average,String names[], int entries)
{
for(int i = 0; i < entries; i++)
{
if(scores[i] < average)

System.out.println(names[i] + "You're below class average");

}
}

void highestScore(int scores[],String names[], int entries)
{
int max = scores[1];

for(int i = 0; i < entries; i++)
{
if(scores[i]>=max)
max=scores[i];
}
System.out.println("The maximum score is: " + max);
System.out.println("The highest score acheivers list: ");

for(int i = 0; i < entries; i++)
{
if(scores[i] == max)
System.out.println(names[i]);
}
}

}

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote