Question

In: Computer Science

Complete the program to read in values from a text file. The values will be the...

Complete the program to read in values from a text file. The values will be the scores on several assignments by the students in a class. Each row of values represents a specific student's scores. Each column represents the scores of all students on a specific assignment. So a specific value is a specific student's score on a specific assignment. The first two values in the text file will give the number of students (number of rows) and the number of assignments (number of columns), respectively.

For example, if the file contains:

3
4
9 6 10 5
2 2 0 0
10 10 9 10

then it represents the scores for 3 students on 4 assignments as follows:

Assignment 1 Assignment 2 Assignment 3 Assignment 4
Student 1 9 6 10 5
Student 2 2 2 0 0
Student 3 10 10 9 10

The program should:

1) Read in the first two values to get the number of students and number of assignments. Create a two-dimensional array of integers to store all the scores using these dimensions.

2) Read in all the scores into the 2-D array.

3) Print the whole array, row by row on separate lines, using Arrays.toString() on each row of the array

3) Print the average of the scores on each assignment. For example, if the data is given in the above example, the output would be:

Array of scores:
[9, 6, 10, 5]
[2, 2, 0, 0]
[10, 10, 9, 10]


Average score of each assignment:
Assignment #1 Average = 7.0
Assignment #2 Average = 6.0
Assignment #3 Average = 6.333333333333333
Assignment #4 Average = 5.0

Starter Code:

import java.util.Scanner;
import java.io.File; //needed to open the file
import java.io.FileNotFoundException; //needed to declare possible error when opening file
import java.util.Arrays; //for the Arrays.toString() method

public class Scores {
public static void main(String[] args) throws FileNotFoundException {
//create a Scanner to get input from the keyboard to ask the user for the file name
Scanner keyboard = new Scanner(System.in);
System.out.println("What is the name of the file containing the scores?");
//create another Scanner to read from the file
String fileName = keyboard.nextLine();
Scanner fileScan = new Scanner(new File(fileName));
  
  
  
//TODO: read in the values for the number of students and number of assignments using the Scanner on the file
  
//TODO: create a 2-D to store all the scores and read them all in using the Scanner on the file
  
System.out.println("Array of scores:");
//TODO: print the entire array, row by row, using Arrays.toString()
  
System.out.println("Average score of each assignment:");
//TODO: compute and print the average on each assignment

Solutions

Expert Solution

Scores.java :

import java.util.Scanner;
import java.io.File; //needed to open the file
import java.io.FileNotFoundException; //needed to declare possible error when opening file
import java.util.Arrays; //for the Arrays.toString() method

public class Scores {
   public static void main(String[] args) throws FileNotFoundException {
//create a Scanner to get input from the keyboard to ask the user for the file name
       Scanner keyboard = new Scanner(System.in);
       System.out.println("What is the name of the file containing the scores?");
//create another Scanner to read from the file
       String fileName = keyboard.nextLine();
       Scanner fileScan = new Scanner(new File(fileName));

//TODO: read in the values for the number of students and number of assignments using the Scanner on the file
       int rows = Integer.parseInt(fileScan.nextLine());// reading number of rows
       int cols = Integer.parseInt(fileScan.nextLine());// reading number of columns
//TODO: create a 2-D to store all the scores and read them all in using the Scanner on the file
       int[][] scores = new int[rows][cols];
       int i = 0;
       while (fileScan.hasNext()) {
           String line = fileScan.nextLine();
           String[] strArray = line.split(" ");
           for (int k = 0; k < strArray.length; k++) {
               scores[i][k] = Integer.parseInt(strArray[k]);
           }
           i++;// increment i
       }
       System.out.println("Array of scores:");
       // TODO: print the entire array, row by row, using Arrays.toString()
       for (int k = 0; k < rows; k++) {
           for (int j = 0; j < cols; j++) {
               System.out.print(scores[k][j] + " ");// print each element
           }
           System.out.println();// used for new line
       }
       System.out.println("Average score of each assignment:");
       // TODO: compute and print the average on each assignment
       for (int k = 0; k < cols; k++) {
           int sum = 0;
           for (int j = 0; j < rows; j++) {
               sum = sum + scores[j][k];// add each assignment score in the sum
           }
           // print average of each assignment
           System.out.println("Assignment #" + (k + 1) + " Average = " + ((double) sum / 3));
       }

   }
}

==========================

Output :

Screen 1:Scores.txt

Screen 2:


Related Solutions

Complete the program to read in values from a text file. The values will be the...
Complete the program to read in values from a text file. The values will be the scores on several assignments by the students in a class. Each row of values represents a specific student's scores. Each column represents the scores of all students on a specific assignment. So a specific value is a specific student's score on a specific assignment. The first two values in the text file will give the number of students (number of rows) and the number...
Please write a java program to write to a text file and to read from a...
Please write a java program to write to a text file and to read from a text file.
Design a program that will read each line of text from a file, print it out...
Design a program that will read each line of text from a file, print it out to the screen in forward and reverse order and determine if it is a palindrome, ignoring case, spaces, and punctuation. (A palindrome is a phrase that reads the same both forwards and backwards.) Example program run: A Toyota's a Toyota atoyoT a s'atoyoT A This is a palindrome! Hello World dlroW olleH This is NOT a palindrome! Note: You are only designing the program...
Write a complete C program that read the text below and save the text in a...
Write a complete C program that read the text below and save the text in a new file "second.txt" with the same text written in all uppercase. "Beedle the Bard was an English wizard and author of wizarding fairytales. Beedle was born in Yorkshire, England. At some point in his life he wrote The Tales of Beedle the Bard . The only known image of Beedle is a woodcut that shows him with a "luxuriant" beard. Beedle wrote in ancient...
In this assignment, you shall create a complete C++ program that will read from a file,...
In this assignment, you shall create a complete C++ program that will read from a file, "studentInfo.txt", the user ID for a student (first letter of their first name connected to their last name Next it will need to read three integer values that will represent the 3 exam scores the student got for the semester. Once the values are read and stored in descriptive variables it will then need to calculate a weighted course average for that student. Below...
(C++) Write a program to read from a grade database (data.txt). The database (text file) has...
(C++) Write a program to read from a grade database (data.txt). The database (text file) has students names, and grades for 10 quizzes.Use the given function prototypes to write the functions. Have main call your functions. The arrays should be declared in main() and passed to the functions as parameters. This is an exercise in parallel arrays, int and char 2 dim arrays. Function prototypes: int readData(ifstream &iFile, int scores[][10], char names[][30]); This functions takes the file stream parameter inFile...
Python program: Write a program that reads a text file named test_scores.txt to read the name...
Python program: Write a program that reads a text file named test_scores.txt to read the name of the student and his/her scores for 3 tests. The program should display class average for first test (average of scores of test 1) and average (average of 3 tests) for each student. Expected Output: ['John', '25', '26', '27'] ['Michael', '24', '28', '29'] ['Adelle', '23', '24', '20'] [['John', '25', '26', '27'], ['Michael', '24', '28', '29'], ['Adelle', '23', '24', '20']] Class average for test 1...
I need to write a java program (in eclipse) that will read my text file and...
I need to write a java program (in eclipse) that will read my text file and replace specific placeholders with information provided in a second text file. For this assignment I am given a text file and I must replace <N>, <A>, <G>, with the information in the second file. For example the information can be John 22 male, and the template will then be modified and saved into a new file or files (because there will be multiple entries...
You are required to read in a list of stocks from a text file “stocks.txt” and...
You are required to read in a list of stocks from a text file “stocks.txt” and write the sum and average of the stocks’ prices, the name of the stock that has the highest price, and the name of the stock that has the lowest price to an output file. The minimal number of stocks is 30 and maximal number of stocks in the input file is 50. You can download a input file “stocks.txt” from Canvas. When the program...
How do I do this: Write a program that can read a text file of numbers...
How do I do this: Write a program that can read a text file of numbers and calculate the mean and standard deviation of those numbers. Print the result in another text file. Put the result on the computer screen. EACH LINE OF THE PROGRAM MUST BE COMMENTED!
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT