Question
I'm trying to write this program in java that reads in a file, and takes all the words in the file adds each word to
I'm trying to write this program in java that reads in a file, and takes all the words in the file adds each word to a map as the key(string) portion, removes punctionation and turns them to lowercase, and then prints to the outfile the keys and occurances(integer) of each key. here's my code so far. Everything currently works except counting the occurances correctly.
heres the code so far
import java.util.Scanner;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.PrintWriter;
public class Suess2 {
public static boolean isLetter(char c) {
if ((c >= 'a' && c <= 'z' ) || (c >= 'A' && c <= 'Z')) {
return true;
}
else
return false;
}
public static String removePunc (String s){
String newStr = "";
for(int i = 0; i< s.length(); i++){
char c = s.charAt(i);
if(isLetter(c)) {
newStr += c;
}
}
return newStr;
}
public static void main (String [ ] args) {
// open the file
Scanner console = new Scanner(System.in);
String fileName = "/Users/*myname*/Desktop/greeneggs.txt";
try { Scanner input = new Scanner(new File(fileName));
Map
int occurance = 0;
while (input.hasNext()) {
String next = input.next().toLowerCase();
if (!words.containsKey(next)) {
words.add(removePunc(next),1);
}
if (words.containsKey(next)) {
occurance++;
words.add(next, occurance);
}
}
System.out.println("Total words = " + words.size());
Scanner infile = new Scanner(new File ("/Users/*myname*/Desktop/infile.txt"));
PrintWriter outFile = new PrintWriter ("/Users/*myname*/Desktop/outfile.txt");
// read and write data
outFile.print(words.toString() + "");
// close files
infile.close();
outFile.close();
}
catch (FileNotFoundException e)
{
System.out.println(e.getMessage());
}
}
}
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started