Question

In: Computer Science

simple Java project// please explain every statement with reasoning. Thank you Read from a file that...

simple Java project// please explain every statement with reasoning. Thank you

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 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. 

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

Solutions

Expert Solution

ANSWER:

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;
}
}

If you do not get anything in this solution,please put a comment and i will help you out.

Do not give a downvote instantly.It is a humble request.

If you like my answer,please give an upvote.....Thank you.


Related Solutions

Java project// please explain every statement with reasoning. Thank you Mary had a little lamb whose...
Java project// please explain every statement with reasoning. Thank you Mary had a little lamb whose fl33ce was white as sn0w And everywhere that @Mary went the 1amb was sure to go. 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....
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.
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...
Please prove this and explain each step. Thank you. Use logical reasoning to solve the following...
Please prove this and explain each step. Thank you. Use logical reasoning to solve the following puzzle: Five friends disagree on whether to play video games or basketball. Either Alice or Bob, or both, want to play video games. Cindy and Don disagree on what they want to play. If Ellen plays video games, then so does Cindy. Alice and Don will play the same game. If Bob plays video games, then so do Alice and Ellen. Who is playing...
**Please write in Java, in a very simple/beginner coding style/language - thank you!** Directions: Given a...
**Please write in Java, in a very simple/beginner coding style/language - thank you!** Directions: Given a factorial n!. Find the sum of its digits, and the number of trailing zeros (ie: the number of zeros at the end of the factorial). Input: integer nn, a non-negative integer where n≤20n≤20 Output: integer xyxy, the concatenation of x and y, where x is the sum of the digits in n! and y is the number of the zeros in n!) Note, 0≤x,y0≤x,y....
Problem Statement You are required to read in a list of stocks from a text file...
Problem Statement 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...
To read in a number from a file as an integer is very simple. (Assuming our...
To read in a number from a file as an integer is very simple. (Assuming our file is defined as myInput; int mynum; myInput >> mynum; The file name should be myNum.txt A sample run of the program: The min is: 40 The max is: 90 The total is: 180 The average is: 60 The number of records read in was: 3 This run used 90 40 50 as its test input. A couple of things to keep in mind,...
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...
Using JAVA The following code is able to read integers from a file that is called...
Using JAVA The following code is able to read integers from a file that is called "start.ppm" onto a 3d array called "startImage". Implement the code by being able to read from another file (make up any file name) and save the data onto another 3d array lets say you call that array "finalImage". The purpose of this will be to add both arrays and then get the average Save the average onto a separte 3darray,lets say you call it...
Write a Java application "WellFormedExpression.java". Start with the file attached here. Please read the comments and...
Write a Java application "WellFormedExpression.java". Start with the file attached here. Please read the comments and complete the function 'isWellFormed()'. It also has the main() to test the function with several input strings. Feel free to change and add more tests with different kinds of input data for correct implementation. Note that you need MyStack.java and Stackinterface.java in the same package. WellFormedExpression.java package apps; public class WellFormedExpression {    static boolean isWellFormed(String s) {        /**** Create a stack...
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT