Question

In: Computer Science

1.Read from a file that contains a paragraph of words. Put all the words in an...

1.Read from a file that contains a paragraph of words. Put all the words in an array, put the valid words (words that have only letters) in a second array, and put the invalid words in a third array. Sort the array of valid words using Selection Sort. Create a GUI to display the arrays using a GridLayout with one row and three columns. 

2.The input file Each 
line of the input file will contain a sentence with words separated by one space. Read a line from the file and use a StringTokenizer to extract the words from the line. An example of the input file would be: 
Mary had a little lamb
whose fl33ce was white as sn0w
And everywhere that @Mary went
the 1amb was sure to go. 

3.You should have two files to submit for this project: 
Project1.java 
WordGUI.java

4. simple Java project

5. All variables have descriptive names or comments describing their purpose.

Thank you!

Solutions

Expert Solution

PLEASE GIVE IT A THUMBS UP, I SERIOUSLY NEED ONE, IF YOU NEED ANY MODIFICATION THEN LET ME KNOW, I WILL DO IT FOR YOU

Output:

input.txt

Mary had a little lamb
whose fl33ce was white as sn0w
And everywhere that @Mary went
the 1amb was sure to go.

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Project.java

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.StringTokenizer;

class Project1 {

  public static void main(String args[]) {
    File file = null;
    FileReader fr = null;
    BufferedReader br = null;
    String line;
    StringTokenizer st = null;

    int numberOfWordsInFile;

    String words[];
    int index;

    String validWords[];
    int validWordsIndex;

    String invalidWords[];
    int invalidWordsIndex;
    try {
      file = new File("input.txt");
      fr = new FileReader(file);
      br = new BufferedReader(fr);
      numberOfWordsInFile = 22;
      words = new String[numberOfWordsInFile];
      index = 0;
      while ((line = br.readLine()) != null) {
        st = new StringTokenizer(line);
        while (st.hasMoreElements()) {
          words[index] = (String) st.nextElement();
          index++;
        }
      }
      fr.close();
      validWords = new String[numberOfWordsInFile];
      validWordsIndex = 0;
      invalidWords = new String[numberOfWordsInFile];
      invalidWordsIndex = 0;
      for (int i = 0; i < words.length; i++) if (
        (!words[i].equals("")) &&
        (words[i] != null) &&
        (words[i].matches("^[a-zA-Z]*$"))
      ) {
        validWords[validWordsIndex] = words[i];
        validWordsIndex++;
      } else {
        invalidWords[invalidWordsIndex] = words[i];
        invalidWordsIndex++;
      }
      selectionSort(validWords, validWordsIndex);
      WordGUI wg = new WordGUI();
      wg.display(
        words,
        index,
        validWords,
        validWordsIndex,
        invalidWords,
        invalidWordsIndex
      );
    } catch (IOException e) {
      e.printStackTrace();
    } catch (Exception e) {
      e.printStackTrace();
    }
  }

  static String[] selectionSort(String[] validWords, int validWordsIndex) {
    for (int i = 0; i < validWordsIndex - 1; i++) {
      int min_index = i;
      String minStr = validWords[i];
      for (int j = i + 1; j < validWordsIndex; j++) {
        if (validWords[j].compareTo(minStr) < 0) {
          minStr = validWords[j];
          min_index = j;
        }
      }
      if (min_index != i) {
        String temp = validWords[min_index];
        validWords[min_index] = validWords[i];
        validWords[i] = temp;
      }
    }
    return validWords;
  }
}

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

WordGUI.java

import java.awt.GridLayout;
import javax.swing.JFrame;
import javax.swing.JLabel;

class WordGUI {

  public void display(
    String[] words,
    int index,
    String[] validWords,
    int validWordsIndex,
    String[] invalidWords,
    int invalidWordsIndex
  ) {
    JFrame f = new JFrame();
    f.setLayout(new GridLayout(1, 3));

    String label = "";

    label = convertArrayToLabel(words, index);
    f.add(new JLabel(label));

    label = convertArrayToLabel(validWords, validWordsIndex);
    f.add(new JLabel(label));

    label = convertArrayToLabel(invalidWords, invalidWordsIndex);
    f.add(new JLabel(label));

    f.setSize(1000, 1000);
    f.setVisible(true);
  }

  public String convertArrayToLabel(String[] array, int maxIndex) {
    String label = "<html>";
    for (int i = 0; i < maxIndex; i++) {
      label = label + array[i] + "<br/>";
    }
    label = label + "</html>";
    return label;
  }
}

Related Solutions

Read from a file that contains a paragraph of words. Put all the words in an...
Read from a file that contains a paragraph of words. Put all the words in an array, put the valid words (words that have only letters) in a second array, and put the invalid words in a third array. Sort the array of valid words using Selection Sort. Create a GUI to display the arrays using a GridLayout with one row and three columns. The input file Each line of the input file will contain a sentence with words separated...
QUESTION : Read from a file that contains a paragraph of words. Put all the words...
QUESTION : Read from a file that contains a paragraph of words. Put all the words in an array, put the valid words (words that have only letters) in a second array, and put the invalid words in a third array. Sort the array of valid words using Selection Sort. Create a GUI to display the arrays using a GridLayout with one row and three columns. The input file Each line of the input file will contain a sentence with...
JAVA PROJECT CREATING GUI WITH ARRAY Read from a file that contains a paragraph of words....
JAVA PROJECT CREATING GUI WITH ARRAY Read from a file that contains a paragraph of words. Put all the words in an array, put the valid words (words that have only letters) in a second array, and put the invalid words in a third array. Sort the array of valid words using Selection Sort. Create a GUI to display the arrays using a GridLayout with one row and three columns. The input file Each line of the input file will...
● Write a program that reads words from a text file and displays all the words...
● Write a program that reads words from a text file and displays all the words (duplicates allowed) in ascending alphabetical order. The words must start with a letter. Must use ArrayList. MY CODE IS INCORRECT PLEASE HELP THE TEXT FILE CONTAINS THESE WORDS IN THIS FORMAT: drunk topography microwave accession impressionist cascade payout schooner relationship reprint drunk impressionist schooner THE WORDS MUST BE PRINTED ON THE ECLIPSE CONSOLE BUT PRINTED OUT ON A TEXT FILE IN ALPHABETICAL ASCENDING ORDER...
● Write a program that reads words from a text file and displays all the words...
● Write a program that reads words from a text file and displays all the words (duplicates allowed) in ascending alphabetical order. The words must start with a letter. Must use ArrayList. THE TEXT FILE CONTAINS THESE WORDS IN THIS FORMAT: drunk topography microwave accession impressionist cascade payout schooner relationship reprint drunk impressionist schooner THE WORDS MUST BE PRINTED ON THE ECLIPSE CONSOLE BUT PRINTED OUT ON A TEXT FILE IN ALPHABETICAL ASCENDING ORDER IS PREFERRED THANK YOU IN ADVANCE...
Write a Java program to read in words from the given file “word.txt”. a. Prompt the...
Write a Java program to read in words from the given file “word.txt”. a. Prompt the user for two words b. Print out how many words in the file fall between those words c. If one of the two words is not contained in the file, print out which word is not found in the file d. If both words are not found in the file, print out a message e. Sample output: Please type in two words: hello computer...
How to read the given structure from a random CSV file separated by commas(which contains no...
How to read the given structure from a random CSV file separated by commas(which contains no headers only the values of the contents of the structure) and then insert in a binary search tree using one of the structure contents as a key i.e. datetime and handle duplicates in binary search tree by implementing link_list.Please develop a C code for this. struct data{ char biker_id[200]; char distance_bike_travelled[200]; char datetime[200]; char count_tripr[200]; }
1) How do you read the contents of a text file that contains whitespace characters as...
1) How do you read the contents of a text file that contains whitespace characters as part of its data? 2) What capability does the fstream data type provide that the ifstream and ofstream data types do not? 3) What header file do you need to include in a program that performs file operations? 4) What data type do you use when you want to create a file stream object that can write data to a file? 5) What data...
Make a program to read a file, filled with words separated by new lines, from command...
Make a program to read a file, filled with words separated by new lines, from command line arguments (args[0]), print the file, and then add each word into an arraylist. After making the arraylist, iterate through it and print its contents.
Choose from the following list of words to complete the paragraph below. Not all terms will...
Choose from the following list of words to complete the paragraph below. Not all terms will be used, and none of them can be used more than once. positive     intermediate     free   negative   substrate   product   activation   thermal An enzyme reduces the_____________ energy of a reaction, causing it to occur more frequently at a given temperature than it would otherwise. This does not alter the________ energy of the reactants or products. If the ΔG of a reaction is____________ , the reaction is spontaneous....
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT