Hi, I started learning Java about 9 months ago and here is where it gets tricky for me. When I am learning loops and arrays.
I do not need to buy more books or look at more tutorials because I have looked at hundreds of books, tutorials, and programs and at one point I had what I needed and then I didn't save-somewhere in the middle of the night last week. Many forums will not help, only suggest different tutorials or books, I am close and I do want tips that push me in the right direction. One book I recommend is Big Java.
Here is a program that does some of what I would like it to do, it does not allow the user to input the sentence into an array and then input a character to search for that value. It's fairly simple to find a value when it's a number, I can write a simple program so far. But I feel I am missing many crucial elements. I want the program to allow the user input a sentence or several values (with a dialog box), then input the value to find in that sentence or group of numbers, then the program totals the number of times the value is found.
Code:import java.io.*; public class WordCount{ private static void linecount(String fName, BufferedReader in) throws IOException{ long numChar = 0; long numLine=0; long numWords = 0; String line; do{ line = in.readLine(); if (line != null){ numChar += line.length(); numWords += wordcount(line); numLine++; } }while(line != null); System.out.println("Enter Sentence: " + fName); System.out.println("Enter Character: " + fName); System.out.println("Number of characters in sentence: " + numChar); System.out.println("Number of words: " + numWords); System.out.println("Number of Lines: " + numLine); } private static void linecount(String fileName){ BufferedReader in = null; try{ FileReader fileReader = new FileReader(fileName); in = new BufferedReader(fileReader); linecount(fileName,in); } catch(IOException e){ e.printStackTrace(); } } private static long wordcount(String line){ long numWords = 0; int index = 0; boolean prevWhiteSpace = true; while(index < line.length()){ char c = line.charAt(index++); boolean currWhiteSpace = Character.isWhitespace(c); if(prevWhiteSpace && !currWhiteSpace){ numWords++; } prevWhiteSpace = currWhiteSpace; } return numWords; } public static void main(String[] args){ long numChar = 0; long numLine=0; String line; try{ if (args.length == 0) { BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); line = in.readLine(); numChar = line.length(); if (numChar != 0){ numLine=1; } System.out.println("Number of characters in sentence: " + numChar); System.out.println("Number of words: " + wordcount(line)); System.out.println("Number of lines: " + numLine); }else{ for(int i = 0; i < args.length; i++){ linecount(args[i]); } } } catch(IOException e){ e.printStackTrace(); } } }


LinkBack URL
About LinkBacks




Reply With Quote






Bookmarks
Algorithms and Data Structures
Java tutorials
Algorithms Forum