SlideShare a Scribd company logo
Frequency .java
/**
* Word frequency counter
*/
package frequency;
import java.util.Iterator;
/**
*
* @author UMD CS
*/
public class Frequency implements Iterable{
private Node first;
private int N;
Frequency(){
N = 0;
first = null;
}
@Override
public Iterator iterator() {
return new ListIterator();
}
/**
*
* List iterator
*
*/
private class ListIterator implements Iterator{
private Node current;
private int index ;
ListIterator(){
current = first;
index = 0;
}
@Override
public boolean hasNext() {
return current != null;
}
public String next() {
if(!hasNext()){
return null;
}
String word = current.key;
int count = current.count;
String r = "("+word + "," + Integer.toString(count)+")";
current = current.next;
return r;
}
@Override
public void remove() {
}
}
/**
*
* Node class
*
*/
private class Node {
private String key;
private int count;
private Node next;
Node(String item){
key = item;
count = 1;
next = null;
}
@Override
public String toString(){
return "("+key +","+count+")";
}
}
/*
* Inserts a word into the linked list. If the word exists, increment the
* count by q.
*/
public void insert(String word){
if(word.equals("")){
return;
}
//TODO
/*
* implement here
*/
}
/**
*
* @param str input string
* This method splits a string into words and pass the words to insert method
*
*/
public void insertWords(String str){
String delims = "[ .,?!'"()}{;/<>&=#-: _]+";
String[] words = str.split(delims);
for(String s: words){
s = s.toLowerCase();
insert(s);
}
}
/**
* prints the word frequency list
*/
public void print(){
Node c = first;
while(c != null){
System.out.print("("+c.key + "," + c.count+")");
c = c.next;
}
System.out.print(" ");
}
}
--------------------------------------------------------------------------------------------------------------------
------------------------------------------------------
WordFrequency.java
package frequency;
import utils.In;
import utils.Stopwatch;
/**
*
* @author UMD CS
*/
public class WordFrequency {
/**
* @param input source
* @param
* This method receives input resource and return the word frequency string
* DO NOT CHANGE THIS METHOD.
*/
public static String freq(String inputSource, int maxLines){
In in;
// Frequency class can only count the frequency of strings. DO NOT CHANGE THIS.
Frequency freq = new Frequency();
int MAX = 100;
String inputSourceName = inputSource;
try {
in = new In(inputSourceName);
while (!in.isEmpty()) {
String s = in.readLine();
//System.out.println(s);
freq.insertWords(s);
}
}
catch (Exception e) {
e.printStackTrace();
}
StringBuilder strFrequency = new StringBuilder();
int cnt = 0;
for(String s: freq){
strFrequency.append(s);
strFrequency.append(",");
cnt++;
if(cnt >= maxLines){break;}
}
return strFrequency.toString();
}
/**
*
*/
public static void main(String[] args) {
In in;
Frequency freq = new Frequency();
int MAX = 100;
// String inputSourceName =
"http://www.cs.umd.edu/class/summer2015/cmsc132/projects/P3_WordFrequency/test1.html";
String inputSourceName = "einstein.txt";
// read one line at a time from URL
System.out.println("read from " + inputSourceName);
System.out.println("---------------------------------------------------------------------------");
Stopwatch sw = new Stopwatch();
try {
in = new In(inputSourceName);
while (!in.isEmpty()) {
String s = in.readLine();
//System.out.println(s);
freq.insertWords(s);
}
}
catch (Exception e) {
e.printStackTrace();
}
System.out.println("Elapsed time:" + sw.elapsedTime());
int cnt = 0;
for(String s: freq){
System.out.println(s);
cnt++;
if(cnt >= MAX){break;}
}
}
}
--------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------
TestSupport.java
package tests;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;
import javax.swing.JOptionPane;
public class TestsSupport {
/* Leave the following variable set to false. We use while developing the */
/* expected solutions for a test. If you change it to false you will corrupt */
/* your *.txt files containing expected results. */
private static boolean generateOfficialResults = false;
/**
* Feel free to use the correctResults method while developing your own tests.
* Notice that if you define text files with some expected results, the text
* files must be named starting with "studentTest" and ending with the .txt
* extension. If you don't name files this way, then the submit server will
* generate an authorization error.
* @param filename
* @param results
* @return true if the contents of the file corresponds to those in results
*/
public static boolean isCorrect(String filename, String results) {
officialUseIgnore(filename, results);
String officialResults="";
try {
BufferedReader fin = new BufferedReader(new FileReader(filename));
String line;
while ((line = fin.readLine()) != null) {
officialResults += line + " ";
}
fin.close();
}catch (IOException e) {
System.out.println("File operation in isCorrect failed.");
return false;
}
results = removeBlanks(results);
officialResults = removeBlanks(officialResults);
if (results.equals(officialResults)) {
return true;
}
return false;
}
public static boolean sameContents(String firstFile, String secondFile) {
if (removeBlanks(fileData(firstFile)).equals(removeBlanks(fileData(secondFile))))
return true;
return false;
}
public static String fileData(String fileName) {
StringBuffer stringBuffer = new StringBuffer();
try {
FileReader fileReader = new FileReader(fileName);
BufferedReader bufferedReader = new BufferedReader(fileReader);
Scanner fileScanner = new Scanner(bufferedReader);
while (fileScanner.hasNextLine())
stringBuffer.append(fileScanner.nextLine());
fileScanner.close();
} catch (IOException e) {
System.out.println(e.getMessage());
}
return stringBuffer.toString();
}
public static String removeBlanks(String src) {
StringBuffer resultsBuf = new StringBuffer();
char curr;
for (int i=0; iInput. This class provides methods for reading strings
* and numbers from standard input, file input, URLs, and sockets.
*
* The Locale used is: language = English, country = US. This is consistent
* with the formatting conventions with Java floating-point literals,
* command-line arguments (via {@link Double#parseDouble(String)})
* and standard output.
*
* For additional documentation, see
* Section 3.1 of
* Introduction to Programming in Java: An Interdisciplinary Approach
* by Robert Sedgewick and Kevin Wayne.
*
* Like {@link Scanner}, reading a token also consumes preceding Java
* whitespace, reading a full line consumes
* the following end-of-line delimeter, while reading a character consumes
* nothing extra.
*
* Whitespace is defined in {@link Character#isWhitespace(char)}. Newlines
* consist of  ,  ,   , and Unicode hex code points 0x2028, 0x2029, 0x0085;
* see
* Scanner.java (NB: Java 6u23 and earlier uses only  ,  ,   ).
*
* @author David Pritchard
* @author Robert Sedgewick
* @author Kevin Wayne
*/
public final class In {
private Scanner scanner;
/*** begin: section (1 of 2) of code duplicated from In to StdIn */
// assume Unicode UTF-8 encoding
private static final String CHARSET_NAME = "UTF-8";
// assume language = English, country = US for consistency with System.out.
private static final Locale LOCALE = Locale.US;
// the default token separator; we maintain the invariant that this value
// is held by the scanner's delimiter between calls
private static final Pattern WHITESPACE_PATTERN
= Pattern.compile("p{javaWhitespace}+");
// makes whitespace characters significant
private static final Pattern EMPTY_PATTERN
= Pattern.compile("");
// used to read the entire input. source:
// http://weblogs.java.net/blog/pat/archive/2004/10/stupid_scanner_1.html
private static final Pattern EVERYTHING_PATTERN
= Pattern.compile("A");
/*** end: section (1 of 2) of code duplicated from In to StdIn */
/**
* Create an input stream from standard input.
*/
public In() {
scanner = new Scanner(new BufferedInputStream(System.in), CHARSET_NAME);
scanner.useLocale(LOCALE);
}
/**
* Create an input stream from a socket.
*/
public In(java.net.Socket socket) {
try {
InputStream is = socket.getInputStream();
scanner = new Scanner(new BufferedInputStream(is), CHARSET_NAME);
scanner.useLocale(LOCALE);
}
catch (IOException ioe) {
System.err.println("Could not open " + socket);
}
}
/**
* Create an input stream from a URL.
*/
public In(URL url) {
try {
URLConnection site = url.openConnection();
InputStream is = site.getInputStream();
scanner = new Scanner(new BufferedInputStream(is), CHARSET_NAME);
scanner.useLocale(LOCALE);
}
catch (IOException ioe) {
System.err.println("Could not open " + url);
}
}
/**
* Create an input stream from a file.
*/
public In(File file) {
try {
scanner = new Scanner(file, CHARSET_NAME);
scanner.useLocale(LOCALE);
}
catch (IOException ioe) {
System.err.println("Could not open " + file);
}
}
/**
* Create an input stream from a filename or web page name.
*/
public In(String s) {
try {
// first try to read file from local file system
File file = new File(s);
if (file.exists()) {
scanner = new Scanner(file, CHARSET_NAME);
scanner.useLocale(LOCALE);
return;
}
// next try for files included in jar
URL url = getClass().getResource(s);
// or URL from web
if (url == null) { url = new URL(s); }
URLConnection site = url.openConnection();
// in order to set User-Agent, replace above line with these two
// HttpURLConnection site = (HttpURLConnection) url.openConnection();
// site.addRequestProperty("User-Agent", "Mozilla/4.76");
InputStream is = site.getInputStream();
scanner = new Scanner(new BufferedInputStream(is), CHARSET_NAME);
scanner.useLocale(LOCALE);
}
catch (IOException ioe) {
System.err.println("Could not open " + s);
}
}
/**
* Create an input stream from a given Scanner source; use with
* new Scanner(String) to read from a string.
*
* Note that this does not create a defensive copy, so the
* scanner will be mutated as you read on.
*/
public In(Scanner scanner) {
this.scanner = scanner;
}
/**
* Does the input stream exist?
*/
public boolean exists() {
return scanner != null;
}
/*** begin: section (2 of 2) of code duplicated from In to StdIn,
* with all methods changed from "public" to "public static" ***/
/**
* Is the input empty (except possibly for whitespace)? Use this
* to know whether the next call to {@link #readString()},
* {@link #readDouble()}, etc will succeed.
*/
public boolean isEmpty() {
return !scanner.hasNext();
}
/**
* Does the input have a next line? Use this to know whether the
* next call to {@link #readLine()} will succeed.
Functionally
* equivalent to {@link #hasNextChar()}.
*/
public boolean hasNextLine() {
return scanner.hasNextLine();
}
/**
* Is the input empty (including whitespace)? Use this to know
* whether the next call to {@link #readChar()} will succeed.
Functionally
* equivalent to {@link #hasNextLine()}.
*/
public boolean hasNextChar() {
scanner.useDelimiter(EMPTY_PATTERN);
boolean result = scanner.hasNext();
scanner.useDelimiter(WHITESPACE_PATTERN);
return result;
}
/**
* Read and return the next line.
*/
public String readLine() {
String line;
try { line = scanner.nextLine(); }
catch (Exception e) { line = null; }
return line;
}
/**
* Read and return the next character.
*/
public char readChar() {
scanner.useDelimiter(EMPTY_PATTERN);
String ch = scanner.next();
assert (ch.length() == 1) : "Internal (Std)In.readChar() error!"
+ " Please contact the authors.";
scanner.useDelimiter(WHITESPACE_PATTERN);
return ch.charAt(0);
}
/**
* Read and return the remainder of the input as a string.
*/
public String readAll() {
if (!scanner.hasNextLine())
return "";
String result = scanner.useDelimiter(EVERYTHING_PATTERN).next();
// not that important to reset delimeter, since now scanner is empty
scanner.useDelimiter(WHITESPACE_PATTERN); // but let's do it anyway
return result;
}
/**
* Read and return the next string.
*/
public String readString() {
return scanner.next();
}
/**
* Read and return the next int.
*/
public int readInt() {
return scanner.nextInt();
}
/**
* Read and return the next double.
*/
public double readDouble() {
return scanner.nextDouble();
}
/**
* Read and return the next float.
*/
public float readFloat() {
return scanner.nextFloat();
}
/**
* Read and return the next long.
*/
public long readLong() {
return scanner.nextLong();
}
/**
* Read and return the next short.
*/
public short readShort() {
return scanner.nextShort();
}
/**
* Read and return the next byte.
*/
public byte readByte() {
return scanner.nextByte();
}
/**
* Read and return the next boolean, allowing case-insensitive
* "true" or "1" for true, and "false" or "0" for false.
*/
public boolean readBoolean() {
String s = readString();
if (s.equalsIgnoreCase("true")) return true;
if (s.equalsIgnoreCase("false")) return false;
if (s.equals("1")) return true;
if (s.equals("0")) return false;
throw new InputMismatchException();
}
/**
* Read all strings until the end of input is reached, and return them.
*/
public String[] readAllStrings() {
// we could use readAll.trim().split(), but that's not consistent
// since trim() uses characters 0x00..0x20 as whitespace
String[] tokens = WHITESPACE_PATTERN.split(readAll());
if (tokens.length == 0 || tokens[0].length() > 0)
return tokens;
String[] decapitokens = new String[tokens.length-1];
for (int i = 0; i < tokens.length-1; i++)
decapitokens[i] = tokens[i+1];
return decapitokens;
}
/**
* Reads all remaining lines from input stream and returns them as an array of strings.
* @return all remaining lines on input stream, as an array of strings
*/
public String[] readAllLines() {
ArrayList lines = new ArrayList();
while (hasNextLine()) {
lines.add(readLine());
}
return lines.toArray(new String[0]);
}
/**
* Read all ints until the end of input is reached, and return them.
*/
public int[] readAllInts() {
String[] fields = readAllStrings();
int[] vals = new int[fields.length];
for (int i = 0; i < fields.length; i++)
vals[i] = Integer.parseInt(fields[i]);
return vals;
}
/**
* Read all doubles until the end of input is reached, and return them.
*/
public double[] readAllDoubles() {
String[] fields = readAllStrings();
double[] vals = new double[fields.length];
for (int i = 0; i < fields.length; i++)
vals[i] = Double.parseDouble(fields[i]);
return vals;
}
/*** end: section (2 of 2) of code duplicated from In to StdIn */
/**
* Close the input stream.
*/
public void close() {
scanner.close();
}
/**
* Reads all ints from a file
* @deprecated Clearer to use
* new In(filename).{@link #readAllInts()}
*/
public static int[] readInts(String filename) {
return new In(filename).readAllInts();
}
/**
* Reads all doubles from a file
* @deprecated Clearer to use
* new In(filename).{@link #readAllDoubles()}
*/
public static double[] readDoubles(String filename) {
return new In(filename).readAllDoubles();
}
/**
* Reads all strings from a file
* @deprecated Clearer to use
* new In(filename).{@link #readAllStrings()}
*/
public static String[] readStrings(String filename) {
return new In(filename).readAllStrings();
}
/**
* Reads all ints from stdin
* @deprecated Clearer to use {@link StdIn#readAllInts()}
*/
public static int[] readInts() {
return new In().readAllInts();
}
/**
* Reads all doubles from stdin
* @deprecated Clearer to use {@link StdIn#readAllDoubles()}
*/
public static double[] readDoubles() {
return new In().readAllDoubles();
}
/**
* Reads all strings from stdin
* @deprecated Clearer to use {@link StdIn#readAllStrings()}
*/
public static String[] readStrings() {
return new In().readAllStrings();
}
/**
* Test client.
*/
public static void main(String[] args) {
In in;
String urlName = "test1.txt";
// read from a URL
System.out.println("readAll() from URL " + urlName);
System.out.println("---------------------------------------------------------------------------");
try {
in = new In(urlName);
System.out.println(in.readAll());
}
catch (Exception e) { System.out.println(e); }
System.out.println();
// read one line at a time from URL
System.out.println("readLine() from URL " + urlName);
System.out.println("---------------------------------------------------------------------------");
try {
in = new In(urlName);
while (!in.isEmpty()) {
String s = in.readLine();
System.out.println(s);
}
}
catch (Exception e) { System.out.println(e); }
System.out.println();
// read one string at a time from URL
System.out.println("readString() from URL " + urlName);
System.out.println("---------------------------------------------------------------------------");
try {
in = new In(urlName);
while (!in.isEmpty()) {
String s = in.readString();
System.out.println(s);
}
}
catch (Exception e) { System.out.println(e); }
System.out.println();
// read one line at a time from file in current directory
System.out.println("readLine() from current directory");
System.out.println("---------------------------------------------------------------------------");
try {
in = new In("test1.txt");
while (!in.isEmpty()) {
String s = in.readLine();
System.out.println(s);
}
}
catch (Exception e) { System.out.println(e); }
System.out.println();
// read one line at a time from file using relative path
System.out.println("readLine() from relative path");
System.out.println("---------------------------------------------------------------------------");
try {
in = new In("test1.txt");
while (!in.isEmpty()) {
String s = in.readLine();
System.out.println(s);
}
}
catch (Exception e) { System.out.println(e); }
System.out.println();
// read one char at a time
System.out.println("readChar() from file");
System.out.println("---------------------------------------------------------------------------");
try {
in = new In("test1.txt");
while (!in.isEmpty()) {
char c = in.readChar();
System.out.print(c);
}
}
catch (Exception e) { System.out.println(e); }
System.out.println();
System.out.println();
// read one line at a time from absolute OS X / Linux path
System.out.println("readLine() from absolute OS X / Linux path");
System.out.println("---------------------------------------------------------------------------");
in = new In("test1.txt");
try {
while (!in.isEmpty()) {
String s = in.readLine();
System.out.println(s);
}
}
catch (Exception e) { System.out.println(e); }
System.out.println();
// read one line at a time from absolute Windows path
System.out.println("readLine() from absolute Windows path");
System.out.println("---------------------------------------------------------------------------");
try {
in = new In("test1.txt");
while (!in.isEmpty()) {
String s = in.readLine();
System.out.println(s);
}
System.out.println();
}
catch (Exception e) { System.out.println(e); }
System.out.println();
}
}
/*************************************************************************
* Copyright 2002-2012, Robert Sedgewick and Kevin Wayne.
*
* This file is part of stdlib-package.jar, which accompanies the textbook
*
* Introduction to Programming in Java: An Interdisciplinary Approach
* by R. Sedgewick and K. Wayne, Addison-Wesley, 2007. ISBN 0-321-49805-4.
*
* http://introcs.cs.princeton.edu
*
*
* stdlib-package.jar is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* stdlib-package.jar is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* You should have received a copy of the GNU General Public License
* along with stdlib-package.jar. If not, see http://www.gnu.org/licenses.
*************************************************************************/
--------------------------------------------------------------------------------------------------------------------
------------------------------------------------------
StopWatch.java
package utils;
/*************************************************************************
* Compilation: javac Stopwatch.java
*
*
*************************************************************************/
/**
* Stopwatch. This class is a data type for measuring
* the running time (wall clock) of a program.
*
* For additional documentation, see
* Section 3.2 of
* Introduction to Programming in Java: An Interdisciplinary Approach
* by Robert Sedgewick and Kevin Wayne.
*/
public class Stopwatch {
private final long start;
/**
* Create a stopwatch object.
*/
public Stopwatch() {
start = System.currentTimeMillis();
}
/**
* Return elapsed time (in seconds) since this object was created.
*/
public double elapsedTime() {
long now = System.currentTimeMillis();
return (now - start) / 1000.0;
}
}
/*************************************************************************
* Copyright 2002-2012, Robert Sedgewick and Kevin Wayne.
*
* This file is part of stdlib-package.jar, which accompanies the textbook
*
* Introduction to Programming in Java: An Interdisciplinary Approach
* by R. Sedgewick and K. Wayne, Addison-Wesley, 2007. ISBN 0-321-49805-4.
*
* http://introcs.cs.princeton.edu
*
*
* stdlib-package.jar is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* stdlib-package.jar is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* You should have received a copy of the GNU General Public License
* along with stdlib-package.jar. If not, see http://www.gnu.org/licenses.
*************************************************************************/
--------------------------------------------------------------------------------------------------------------------
------------------------------------------------------
publictest.java
package tests;
import static org.junit.Assert.*;
import org.junit.Test;
import frequency.WordFrequency;
public class PublicTests {
@Test
public void testEinstein() {
String answer = WordFrequency.freq("einstein.txt",20);
assertTrue(TestsSupport.isCorrect("pubEinstein.txt", answer));
}
@Test
public void test1() {
String answer = WordFrequency.freq("test1.txt",10);
assertTrue(TestsSupport.isCorrect("pubTest1.txt", answer));
}
@Test
public void testSyllabus() {
String answer =
WordFrequency.freq("https://www.cs.umd.edu/class/summer2015/cmsc132/syllabus.shtml",20
0);
assertTrue(TestsSupport.isCorrect("pubSyllabus.txt", answer));
}
@Test
public void testWar_peace() {
String answer = WordFrequency.freq("war_peace.txt",50);
assertTrue(TestsSupport.isCorrect("pubWar_peace.txt", answer));
}
}
--------------------------------------------------------------------------------------------------------------------
-----------------------------------------------
Java code is not working please help
Solution
You have not implemented the above function thats why it was not getting passed.
Apart from that there is condition in WordFrequency.java where you will output maximum of
100 data. So mind that too. Apart from that I don't have any of those files so I can't check it. If
you have any doubt ask me. And next time please give those text file so i can test.

More Related Content

PPTX
KOLEJ KOMUNITI - Sijil Aplikasi Perisian Komputer
PDF
Create a JAVA program that performs file IO and database interaction.pdf
DOCX
DOCX
source code which create file and write into it
PDF
ikh331-06-distributed-programming
PDF
Objective Min-heap queue with customized comparatorHospital emerg.pdf
PPT
TechTalk - Dotnet
KOLEJ KOMUNITI - Sijil Aplikasi Perisian Komputer
Create a JAVA program that performs file IO and database interaction.pdf
source code which create file and write into it
ikh331-06-distributed-programming
Objective Min-heap queue with customized comparatorHospital emerg.pdf
TechTalk - Dotnet

Similar to Frequency .java Word frequency counter package frequ.pdf (20)

PPTX
Chapter i(introduction to java)
PPTX
Lecture-5Programming WorldJava Lecture.pptx
DOCX
JavaExamples
PPT
New features and enhancement
PPTX
What is new in Java 8
PPT
Csharp In Detail Part2
PPT
C programming is a powerful, general-purpose language used for developing ope...
PPT
3 database-jdbc(1)
PDF
Write a C++ program 1. Study the function process_text() in file.pdf
PPTX
File Input and output.pptx
PDF
Modify HuffmanTree.java and HuffmanNode.java to allow the user to se.pdf
DOCX
My java file
PDF
Review Questions for Exam 10182016 1. public class .pdf
PDF
Run rmi
PDF
OrderTest.javapublic class OrderTest {       Get an arra.pdf
PPT
Taking User Input in Java
DOCX
httplinux.die.netman3execfork() creates a new process by.docx
PDF
package singlylinkedlist; public class Node { public String valu.pdf
PDF
RMI Java Programming Lab Manual 2019
PDF
Chapter i(introduction to java)
Lecture-5Programming WorldJava Lecture.pptx
JavaExamples
New features and enhancement
What is new in Java 8
Csharp In Detail Part2
C programming is a powerful, general-purpose language used for developing ope...
3 database-jdbc(1)
Write a C++ program 1. Study the function process_text() in file.pdf
File Input and output.pptx
Modify HuffmanTree.java and HuffmanNode.java to allow the user to se.pdf
My java file
Review Questions for Exam 10182016 1. public class .pdf
Run rmi
OrderTest.javapublic class OrderTest {       Get an arra.pdf
Taking User Input in Java
httplinux.die.netman3execfork() creates a new process by.docx
package singlylinkedlist; public class Node { public String valu.pdf
RMI Java Programming Lab Manual 2019
Ad

More from arshiartpalace (20)

PDF
Write a C++ program to get input of a data set of 14 double valu.pdf
PDF
Which plants contain lignified vascular tissue (Select all that appl.pdf
PDF
Which of the neurotransmitters are metabotropic and which are ionotr.pdf
PDF
What is the range of y= absolute value f(x) if f(x) = -x^2 And can .pdf
PDF
G. Will a pumping test that is run for seven days give more informati.pdf
PDF
What challenges, strengths, or weaknesses do you see Baxter Internat.pdf
PDF
Three historical figures were identified as working with vita statist.pdf
PDF
What are postretirement benefits other than pensionsSolutionB.pdf
PDF
There are parts of a true sustained competitive advantage Ther.pdf
PDF
The alternative hypothesis typically Corresponds to the presumed def.pdf
PDF
Suppose the continuous random variable X has probability density func.pdf
PDF
Drag and drop the phrases to the appropriate status during the cockin.pdf
PDF
Some bacteria have one or more flagella. What is true about these st.pdf
PDF
our company has an opening for a junior database administrator. As a.pdf
PDF
Part ABriefly, explain the current hypotheses about how brown alg.pdf
PDF
Please show the whole code... Im very confused. Matlab code for ea.pdf
PDF
Monomeric single pass trans-membrane proteins generally span the bil.pdf
PDF
Match the following to one or more layers of the Internet protocol st.pdf
PDF
Kent and Emily have a baby boy Dustin by in vitro fertilization. Dust.pdf
PDF
Isabel Lopez started Biz Consulting, a new business, and completed th.pdf
Write a C++ program to get input of a data set of 14 double valu.pdf
Which plants contain lignified vascular tissue (Select all that appl.pdf
Which of the neurotransmitters are metabotropic and which are ionotr.pdf
What is the range of y= absolute value f(x) if f(x) = -x^2 And can .pdf
G. Will a pumping test that is run for seven days give more informati.pdf
What challenges, strengths, or weaknesses do you see Baxter Internat.pdf
Three historical figures were identified as working with vita statist.pdf
What are postretirement benefits other than pensionsSolutionB.pdf
There are parts of a true sustained competitive advantage Ther.pdf
The alternative hypothesis typically Corresponds to the presumed def.pdf
Suppose the continuous random variable X has probability density func.pdf
Drag and drop the phrases to the appropriate status during the cockin.pdf
Some bacteria have one or more flagella. What is true about these st.pdf
our company has an opening for a junior database administrator. As a.pdf
Part ABriefly, explain the current hypotheses about how brown alg.pdf
Please show the whole code... Im very confused. Matlab code for ea.pdf
Monomeric single pass trans-membrane proteins generally span the bil.pdf
Match the following to one or more layers of the Internet protocol st.pdf
Kent and Emily have a baby boy Dustin by in vitro fertilization. Dust.pdf
Isabel Lopez started Biz Consulting, a new business, and completed th.pdf
Ad

Recently uploaded (20)

PDF
VCE English Exam - Section C Student Revision Booklet
PDF
Complications of Minimal Access Surgery at WLH
PPTX
Lesson notes of climatology university.
PDF
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
PPTX
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
PDF
Computing-Curriculum for Schools in Ghana
PDF
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
PPTX
Introduction-to-Literarature-and-Literary-Studies-week-Prelim-coverage.pptx
PDF
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
PPTX
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
PDF
Chinmaya Tiranga quiz Grand Finale.pdf
PPTX
Presentation on HIE in infants and its manifestations
PPTX
Pharmacology of Heart Failure /Pharmacotherapy of CHF
PDF
102 student loan defaulters named and shamed – Is someone you know on the list?
PDF
O5-L3 Freight Transport Ops (International) V1.pdf
PDF
FourierSeries-QuestionsWithAnswers(Part-A).pdf
PDF
Anesthesia in Laparoscopic Surgery in India
PPTX
Pharma ospi slides which help in ospi learning
PDF
RMMM.pdf make it easy to upload and study
PPTX
1st Inaugural Professorial Lecture held on 19th February 2020 (Governance and...
VCE English Exam - Section C Student Revision Booklet
Complications of Minimal Access Surgery at WLH
Lesson notes of climatology university.
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
Computing-Curriculum for Schools in Ghana
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
Introduction-to-Literarature-and-Literary-Studies-week-Prelim-coverage.pptx
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
Chinmaya Tiranga quiz Grand Finale.pdf
Presentation on HIE in infants and its manifestations
Pharmacology of Heart Failure /Pharmacotherapy of CHF
102 student loan defaulters named and shamed – Is someone you know on the list?
O5-L3 Freight Transport Ops (International) V1.pdf
FourierSeries-QuestionsWithAnswers(Part-A).pdf
Anesthesia in Laparoscopic Surgery in India
Pharma ospi slides which help in ospi learning
RMMM.pdf make it easy to upload and study
1st Inaugural Professorial Lecture held on 19th February 2020 (Governance and...

Frequency .java Word frequency counter package frequ.pdf

  • 1. Frequency .java /** * Word frequency counter */ package frequency; import java.util.Iterator; /** * * @author UMD CS */ public class Frequency implements Iterable{ private Node first; private int N; Frequency(){ N = 0; first = null; } @Override public Iterator iterator() { return new ListIterator(); } /** * * List iterator * */ private class ListIterator implements Iterator{ private Node current; private int index ; ListIterator(){ current = first; index = 0; } @Override
  • 2. public boolean hasNext() { return current != null; } public String next() { if(!hasNext()){ return null; } String word = current.key; int count = current.count; String r = "("+word + "," + Integer.toString(count)+")"; current = current.next; return r; } @Override public void remove() { } } /** * * Node class * */ private class Node { private String key; private int count; private Node next; Node(String item){ key = item; count = 1; next = null; } @Override public String toString(){ return "("+key +","+count+")";
  • 3. } } /* * Inserts a word into the linked list. If the word exists, increment the * count by q. */ public void insert(String word){ if(word.equals("")){ return; } //TODO /* * implement here */ } /** * * @param str input string * This method splits a string into words and pass the words to insert method * */ public void insertWords(String str){ String delims = "[ .,?!'"()}{;/<>&=#-: _]+"; String[] words = str.split(delims); for(String s: words){ s = s.toLowerCase(); insert(s); } } /** * prints the word frequency list */
  • 4. public void print(){ Node c = first; while(c != null){ System.out.print("("+c.key + "," + c.count+")"); c = c.next; } System.out.print(" "); } } -------------------------------------------------------------------------------------------------------------------- ------------------------------------------------------ WordFrequency.java package frequency; import utils.In; import utils.Stopwatch; /** * * @author UMD CS */ public class WordFrequency { /** * @param input source * @param * This method receives input resource and return the word frequency string * DO NOT CHANGE THIS METHOD. */ public static String freq(String inputSource, int maxLines){ In in; // Frequency class can only count the frequency of strings. DO NOT CHANGE THIS. Frequency freq = new Frequency(); int MAX = 100; String inputSourceName = inputSource; try { in = new In(inputSourceName);
  • 5. while (!in.isEmpty()) { String s = in.readLine(); //System.out.println(s); freq.insertWords(s); } } catch (Exception e) { e.printStackTrace(); } StringBuilder strFrequency = new StringBuilder(); int cnt = 0; for(String s: freq){ strFrequency.append(s); strFrequency.append(","); cnt++; if(cnt >= maxLines){break;} } return strFrequency.toString(); } /** * */ public static void main(String[] args) { In in; Frequency freq = new Frequency(); int MAX = 100; // String inputSourceName = "http://www.cs.umd.edu/class/summer2015/cmsc132/projects/P3_WordFrequency/test1.html"; String inputSourceName = "einstein.txt"; // read one line at a time from URL System.out.println("read from " + inputSourceName); System.out.println("---------------------------------------------------------------------------");
  • 6. Stopwatch sw = new Stopwatch(); try { in = new In(inputSourceName); while (!in.isEmpty()) { String s = in.readLine(); //System.out.println(s); freq.insertWords(s); } } catch (Exception e) { e.printStackTrace(); } System.out.println("Elapsed time:" + sw.elapsedTime()); int cnt = 0; for(String s: freq){ System.out.println(s); cnt++; if(cnt >= MAX){break;} } } } -------------------------------------------------------------------------------------------------------------------- ----------------------------------------------------- TestSupport.java package tests; import java.io.BufferedReader; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.util.Scanner; import javax.swing.JOptionPane; public class TestsSupport {
  • 7. /* Leave the following variable set to false. We use while developing the */ /* expected solutions for a test. If you change it to false you will corrupt */ /* your *.txt files containing expected results. */ private static boolean generateOfficialResults = false; /** * Feel free to use the correctResults method while developing your own tests. * Notice that if you define text files with some expected results, the text * files must be named starting with "studentTest" and ending with the .txt * extension. If you don't name files this way, then the submit server will * generate an authorization error. * @param filename * @param results * @return true if the contents of the file corresponds to those in results */ public static boolean isCorrect(String filename, String results) { officialUseIgnore(filename, results); String officialResults=""; try { BufferedReader fin = new BufferedReader(new FileReader(filename)); String line; while ((line = fin.readLine()) != null) { officialResults += line + " "; } fin.close(); }catch (IOException e) { System.out.println("File operation in isCorrect failed."); return false; } results = removeBlanks(results); officialResults = removeBlanks(officialResults); if (results.equals(officialResults)) { return true;
  • 8. } return false; } public static boolean sameContents(String firstFile, String secondFile) { if (removeBlanks(fileData(firstFile)).equals(removeBlanks(fileData(secondFile)))) return true; return false; } public static String fileData(String fileName) { StringBuffer stringBuffer = new StringBuffer(); try { FileReader fileReader = new FileReader(fileName); BufferedReader bufferedReader = new BufferedReader(fileReader); Scanner fileScanner = new Scanner(bufferedReader); while (fileScanner.hasNextLine()) stringBuffer.append(fileScanner.nextLine()); fileScanner.close(); } catch (IOException e) { System.out.println(e.getMessage()); } return stringBuffer.toString(); } public static String removeBlanks(String src) { StringBuffer resultsBuf = new StringBuffer(); char curr; for (int i=0; iInput. This class provides methods for reading strings
  • 9. * and numbers from standard input, file input, URLs, and sockets. * * The Locale used is: language = English, country = US. This is consistent * with the formatting conventions with Java floating-point literals, * command-line arguments (via {@link Double#parseDouble(String)}) * and standard output. * * For additional documentation, see * Section 3.1 of * Introduction to Programming in Java: An Interdisciplinary Approach * by Robert Sedgewick and Kevin Wayne. * * Like {@link Scanner}, reading a token also consumes preceding Java * whitespace, reading a full line consumes * the following end-of-line delimeter, while reading a character consumes * nothing extra. * * Whitespace is defined in {@link Character#isWhitespace(char)}. Newlines * consist of , , , and Unicode hex code points 0x2028, 0x2029, 0x0085; * see * Scanner.java (NB: Java 6u23 and earlier uses only , , ). * * @author David Pritchard * @author Robert Sedgewick * @author Kevin Wayne */ public final class In { private Scanner scanner; /*** begin: section (1 of 2) of code duplicated from In to StdIn */ // assume Unicode UTF-8 encoding
  • 10. private static final String CHARSET_NAME = "UTF-8"; // assume language = English, country = US for consistency with System.out. private static final Locale LOCALE = Locale.US; // the default token separator; we maintain the invariant that this value // is held by the scanner's delimiter between calls private static final Pattern WHITESPACE_PATTERN = Pattern.compile("p{javaWhitespace}+"); // makes whitespace characters significant private static final Pattern EMPTY_PATTERN = Pattern.compile(""); // used to read the entire input. source: // http://weblogs.java.net/blog/pat/archive/2004/10/stupid_scanner_1.html private static final Pattern EVERYTHING_PATTERN = Pattern.compile("A"); /*** end: section (1 of 2) of code duplicated from In to StdIn */ /** * Create an input stream from standard input. */ public In() { scanner = new Scanner(new BufferedInputStream(System.in), CHARSET_NAME); scanner.useLocale(LOCALE); } /** * Create an input stream from a socket. */ public In(java.net.Socket socket) { try { InputStream is = socket.getInputStream(); scanner = new Scanner(new BufferedInputStream(is), CHARSET_NAME); scanner.useLocale(LOCALE); } catch (IOException ioe) { System.err.println("Could not open " + socket); } } /**
  • 11. * Create an input stream from a URL. */ public In(URL url) { try { URLConnection site = url.openConnection(); InputStream is = site.getInputStream(); scanner = new Scanner(new BufferedInputStream(is), CHARSET_NAME); scanner.useLocale(LOCALE); } catch (IOException ioe) { System.err.println("Could not open " + url); } } /** * Create an input stream from a file. */ public In(File file) { try { scanner = new Scanner(file, CHARSET_NAME); scanner.useLocale(LOCALE); } catch (IOException ioe) { System.err.println("Could not open " + file); } } /** * Create an input stream from a filename or web page name. */ public In(String s) { try { // first try to read file from local file system File file = new File(s); if (file.exists()) { scanner = new Scanner(file, CHARSET_NAME); scanner.useLocale(LOCALE);
  • 12. return; } // next try for files included in jar URL url = getClass().getResource(s); // or URL from web if (url == null) { url = new URL(s); } URLConnection site = url.openConnection(); // in order to set User-Agent, replace above line with these two // HttpURLConnection site = (HttpURLConnection) url.openConnection(); // site.addRequestProperty("User-Agent", "Mozilla/4.76"); InputStream is = site.getInputStream(); scanner = new Scanner(new BufferedInputStream(is), CHARSET_NAME); scanner.useLocale(LOCALE); } catch (IOException ioe) { System.err.println("Could not open " + s); } } /** * Create an input stream from a given Scanner source; use with * new Scanner(String) to read from a string. * * Note that this does not create a defensive copy, so the * scanner will be mutated as you read on. */ public In(Scanner scanner) { this.scanner = scanner; } /** * Does the input stream exist? */ public boolean exists() { return scanner != null; }
  • 13. /*** begin: section (2 of 2) of code duplicated from In to StdIn, * with all methods changed from "public" to "public static" ***/ /** * Is the input empty (except possibly for whitespace)? Use this * to know whether the next call to {@link #readString()}, * {@link #readDouble()}, etc will succeed. */ public boolean isEmpty() { return !scanner.hasNext(); } /** * Does the input have a next line? Use this to know whether the * next call to {@link #readLine()} will succeed. Functionally * equivalent to {@link #hasNextChar()}. */ public boolean hasNextLine() { return scanner.hasNextLine(); } /** * Is the input empty (including whitespace)? Use this to know * whether the next call to {@link #readChar()} will succeed. Functionally * equivalent to {@link #hasNextLine()}. */ public boolean hasNextChar() { scanner.useDelimiter(EMPTY_PATTERN); boolean result = scanner.hasNext(); scanner.useDelimiter(WHITESPACE_PATTERN); return result; } /** * Read and return the next line. */ public String readLine() {
  • 14. String line; try { line = scanner.nextLine(); } catch (Exception e) { line = null; } return line; } /** * Read and return the next character. */ public char readChar() { scanner.useDelimiter(EMPTY_PATTERN); String ch = scanner.next(); assert (ch.length() == 1) : "Internal (Std)In.readChar() error!" + " Please contact the authors."; scanner.useDelimiter(WHITESPACE_PATTERN); return ch.charAt(0); } /** * Read and return the remainder of the input as a string. */ public String readAll() { if (!scanner.hasNextLine()) return ""; String result = scanner.useDelimiter(EVERYTHING_PATTERN).next(); // not that important to reset delimeter, since now scanner is empty scanner.useDelimiter(WHITESPACE_PATTERN); // but let's do it anyway return result; } /** * Read and return the next string. */ public String readString() { return scanner.next(); } /**
  • 15. * Read and return the next int. */ public int readInt() { return scanner.nextInt(); } /** * Read and return the next double. */ public double readDouble() { return scanner.nextDouble(); } /** * Read and return the next float. */ public float readFloat() { return scanner.nextFloat(); } /** * Read and return the next long. */ public long readLong() { return scanner.nextLong(); } /** * Read and return the next short. */ public short readShort() { return scanner.nextShort(); } /** * Read and return the next byte. */ public byte readByte() { return scanner.nextByte(); } /**
  • 16. * Read and return the next boolean, allowing case-insensitive * "true" or "1" for true, and "false" or "0" for false. */ public boolean readBoolean() { String s = readString(); if (s.equalsIgnoreCase("true")) return true; if (s.equalsIgnoreCase("false")) return false; if (s.equals("1")) return true; if (s.equals("0")) return false; throw new InputMismatchException(); } /** * Read all strings until the end of input is reached, and return them. */ public String[] readAllStrings() { // we could use readAll.trim().split(), but that's not consistent // since trim() uses characters 0x00..0x20 as whitespace String[] tokens = WHITESPACE_PATTERN.split(readAll()); if (tokens.length == 0 || tokens[0].length() > 0) return tokens; String[] decapitokens = new String[tokens.length-1]; for (int i = 0; i < tokens.length-1; i++) decapitokens[i] = tokens[i+1]; return decapitokens; } /** * Reads all remaining lines from input stream and returns them as an array of strings. * @return all remaining lines on input stream, as an array of strings */ public String[] readAllLines() { ArrayList lines = new ArrayList(); while (hasNextLine()) { lines.add(readLine()); } return lines.toArray(new String[0]); }
  • 17. /** * Read all ints until the end of input is reached, and return them. */ public int[] readAllInts() { String[] fields = readAllStrings(); int[] vals = new int[fields.length]; for (int i = 0; i < fields.length; i++) vals[i] = Integer.parseInt(fields[i]); return vals; } /** * Read all doubles until the end of input is reached, and return them. */ public double[] readAllDoubles() { String[] fields = readAllStrings(); double[] vals = new double[fields.length]; for (int i = 0; i < fields.length; i++) vals[i] = Double.parseDouble(fields[i]); return vals; } /*** end: section (2 of 2) of code duplicated from In to StdIn */ /** * Close the input stream. */ public void close() { scanner.close(); } /** * Reads all ints from a file * @deprecated Clearer to use * new In(filename).{@link #readAllInts()} */ public static int[] readInts(String filename) {
  • 18. return new In(filename).readAllInts(); } /** * Reads all doubles from a file * @deprecated Clearer to use * new In(filename).{@link #readAllDoubles()} */ public static double[] readDoubles(String filename) { return new In(filename).readAllDoubles(); } /** * Reads all strings from a file * @deprecated Clearer to use * new In(filename).{@link #readAllStrings()} */ public static String[] readStrings(String filename) { return new In(filename).readAllStrings(); } /** * Reads all ints from stdin * @deprecated Clearer to use {@link StdIn#readAllInts()} */ public static int[] readInts() { return new In().readAllInts(); } /** * Reads all doubles from stdin * @deprecated Clearer to use {@link StdIn#readAllDoubles()} */ public static double[] readDoubles() { return new In().readAllDoubles(); } /** * Reads all strings from stdin * @deprecated Clearer to use {@link StdIn#readAllStrings()} */
  • 19. public static String[] readStrings() { return new In().readAllStrings(); } /** * Test client. */ public static void main(String[] args) { In in; String urlName = "test1.txt"; // read from a URL System.out.println("readAll() from URL " + urlName); System.out.println("---------------------------------------------------------------------------"); try { in = new In(urlName); System.out.println(in.readAll()); } catch (Exception e) { System.out.println(e); } System.out.println(); // read one line at a time from URL System.out.println("readLine() from URL " + urlName); System.out.println("---------------------------------------------------------------------------"); try { in = new In(urlName); while (!in.isEmpty()) { String s = in.readLine(); System.out.println(s); } } catch (Exception e) { System.out.println(e); } System.out.println(); // read one string at a time from URL System.out.println("readString() from URL " + urlName); System.out.println("---------------------------------------------------------------------------"); try { in = new In(urlName);
  • 20. while (!in.isEmpty()) { String s = in.readString(); System.out.println(s); } } catch (Exception e) { System.out.println(e); } System.out.println(); // read one line at a time from file in current directory System.out.println("readLine() from current directory"); System.out.println("---------------------------------------------------------------------------"); try { in = new In("test1.txt"); while (!in.isEmpty()) { String s = in.readLine(); System.out.println(s); } } catch (Exception e) { System.out.println(e); } System.out.println(); // read one line at a time from file using relative path System.out.println("readLine() from relative path"); System.out.println("---------------------------------------------------------------------------"); try { in = new In("test1.txt"); while (!in.isEmpty()) { String s = in.readLine(); System.out.println(s); } } catch (Exception e) { System.out.println(e); } System.out.println(); // read one char at a time System.out.println("readChar() from file"); System.out.println("---------------------------------------------------------------------------");
  • 21. try { in = new In("test1.txt"); while (!in.isEmpty()) { char c = in.readChar(); System.out.print(c); } } catch (Exception e) { System.out.println(e); } System.out.println(); System.out.println(); // read one line at a time from absolute OS X / Linux path System.out.println("readLine() from absolute OS X / Linux path"); System.out.println("---------------------------------------------------------------------------"); in = new In("test1.txt"); try { while (!in.isEmpty()) { String s = in.readLine(); System.out.println(s); } } catch (Exception e) { System.out.println(e); } System.out.println(); // read one line at a time from absolute Windows path System.out.println("readLine() from absolute Windows path"); System.out.println("---------------------------------------------------------------------------"); try { in = new In("test1.txt"); while (!in.isEmpty()) { String s = in.readLine(); System.out.println(s); } System.out.println(); } catch (Exception e) { System.out.println(e); } System.out.println();
  • 22. } } /************************************************************************* * Copyright 2002-2012, Robert Sedgewick and Kevin Wayne. * * This file is part of stdlib-package.jar, which accompanies the textbook * * Introduction to Programming in Java: An Interdisciplinary Approach * by R. Sedgewick and K. Wayne, Addison-Wesley, 2007. ISBN 0-321-49805-4. * * http://introcs.cs.princeton.edu * * * stdlib-package.jar is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * stdlib-package.jar is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with stdlib-package.jar. If not, see http://www.gnu.org/licenses. *************************************************************************/ -------------------------------------------------------------------------------------------------------------------- ------------------------------------------------------ StopWatch.java package utils; /************************************************************************* * Compilation: javac Stopwatch.java * * *************************************************************************/
  • 23. /** * Stopwatch. This class is a data type for measuring * the running time (wall clock) of a program. * * For additional documentation, see * Section 3.2 of * Introduction to Programming in Java: An Interdisciplinary Approach * by Robert Sedgewick and Kevin Wayne. */ public class Stopwatch { private final long start; /** * Create a stopwatch object. */ public Stopwatch() { start = System.currentTimeMillis(); } /** * Return elapsed time (in seconds) since this object was created. */ public double elapsedTime() { long now = System.currentTimeMillis(); return (now - start) / 1000.0; } } /************************************************************************* * Copyright 2002-2012, Robert Sedgewick and Kevin Wayne. * * This file is part of stdlib-package.jar, which accompanies the textbook * * Introduction to Programming in Java: An Interdisciplinary Approach * by R. Sedgewick and K. Wayne, Addison-Wesley, 2007. ISBN 0-321-49805-4. *
  • 24. * http://introcs.cs.princeton.edu * * * stdlib-package.jar is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * stdlib-package.jar is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with stdlib-package.jar. If not, see http://www.gnu.org/licenses. *************************************************************************/ -------------------------------------------------------------------------------------------------------------------- ------------------------------------------------------ publictest.java package tests; import static org.junit.Assert.*; import org.junit.Test; import frequency.WordFrequency; public class PublicTests { @Test public void testEinstein() { String answer = WordFrequency.freq("einstein.txt",20); assertTrue(TestsSupport.isCorrect("pubEinstein.txt", answer)); } @Test public void test1() { String answer = WordFrequency.freq("test1.txt",10); assertTrue(TestsSupport.isCorrect("pubTest1.txt", answer)); } @Test
  • 25. public void testSyllabus() { String answer = WordFrequency.freq("https://www.cs.umd.edu/class/summer2015/cmsc132/syllabus.shtml",20 0); assertTrue(TestsSupport.isCorrect("pubSyllabus.txt", answer)); } @Test public void testWar_peace() { String answer = WordFrequency.freq("war_peace.txt",50); assertTrue(TestsSupport.isCorrect("pubWar_peace.txt", answer)); } } -------------------------------------------------------------------------------------------------------------------- ----------------------------------------------- Java code is not working please help Solution You have not implemented the above function thats why it was not getting passed. Apart from that there is condition in WordFrequency.java where you will output maximum of 100 data. So mind that too. Apart from that I don't have any of those files so I can't check it. If you have any doubt ask me. And next time please give those text file so i can test.