Question: Write a complete Java program in a file called Module1Program.java that reads all the lyrics from a file named lyrics.txt that is to be found

Write a complete Java program in a file called Module1Program.java that reads all the lyrics from a file named lyrics.txt that is to be found in the same directory as the running program. The program should read the lyrics for each line and treat each word as a token. Embedded in each line will be the line number for that line. The number may occur anywhere within the line and each line is guaranteed to have one number in it. Your job is to read each line, remove the integer within the line and put the integer into one array. For all the words that occur in the line, put them into a separate String array. After reading all the lines, use the Selection Sort algorithm that sorts the two arrays in parallel. After sorting all the lines, display the lyrics in order corresponding to the number embedded within each line. The output should have the first character of the first word at the beginning of the line. The output should contain one space between each word. A word is a continuation of characters until it reaches a space.

Vivir mi 6 vida, la la la la

Voy a reir, voy a 3 gozar

A veces llega 9 la lluvia

Voy a reir, 1 voy a bailar

10 Para limpiar las heridas

Vivir mi vida, 2 la la la la

Voy a reir, 7 voy a gozar

Vivir mi vida, 8 la la la la

4 Vivir mi vida, la la la la

Voy 5 a reir (Ay eso!), voy a bailar

Then your program should print to the screen the following:

Voy a reir, voy a bailar

Vivir mi vida, la la la la

Voy a reir, voy a gozar

Vivir mi vida, la la la la

Voy a reir (Ay eso!), voy a bailar

Vivir mi vida, la la la la

Voy a reir, voy a gozar

Vivir mi vida, la la la la

A veces llega la lluvia

Para limpiar las heridas

1, If the file does not exist, then your program should instead display, File not found and exit.

2, If the lyrics.txt contains more than 200 lines, it should display, The song is too long and exit.

3, If the lyrics file is empty, the program should display, Empty file and exit.

A little starter code: import java.io.File;

import java.io.FileNotFoundException;

import java.util.Scanner;

/** * Program that reads lyrics from file lyrics.txt and prints the lyrics * in order. * * @author Your Name * @version date of submission */

public class Module1Program {

public static final int MAX_LINES = 200; // parallel swap is provided for you

public static void swap(int[] list, String[] lines, int i, int j) {

int temp = list[i];

String tempStr = lines[i];

list[i] = list[j];

lines[i] = lines[j];

list[j] = temp;

lines[j] = tempStr;

}

// Modify the array to do parallel sort. // post: array is in sorted (nondecreasing) order

public static void selectionSort(int[] a) { for (int i = 0; i < a.length - 1; i++) {

// find index of smallest element

int smallest = i;

for (int j = i + 1; j < a.length; j++) {

if (a[j] < a[smallest]) {

smallest = j;

}

}

swap(a, i, smallest); // swap smallest to front

}

}

public static void main(String[] args) {

File theSong = new File("lyrics.txt");

}

}

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!