Hello everyone,

for example, I have name.txt file. It contains three lines of text (see below):

Roses are red%
Sky is blue%
JAVA is cool%

All lines ended with % symbol.

I need to count how many every line have characters and which character is repeated max and min times.

Thanks !

Recommended Answers

All 14 Replies

Where are you having problems with your code? Post the code and ask your questions.

I need to count how many symbols are in every line excluding spaces... and if you know how to do it.. there are another problem.. I need to show which character are repeated maximum times and which characted is repeated minimum times in every line.

import java.io.*;
 class stringlines
 {
  public static void main(String args[])
   {
   try{

   FileInputStream fstream = new FileInputStream("name.txt");

   DataInputStream in = new DataInputStream(fstream);
   BufferedReader br = new BufferedReader(new InputStreamReader(in));
   String strLine;


   while ((strLine = br.readLine()) != null) {
   System.out.println (strLine);
   }


   in.close();
   }
   catch (Exception e){//Catch exception if any
   System.err.println("Error: " + e.getMessage());
   }
   }
 }

Where do you count the characters? Look at the String class's methods for getting at the characters in a String.
What kinds of technoques do you know for saving the counts?

In console, I don't need to write numbers of characters in .txt file... I know line.lenght() method, but it ain't helping cuz' it counts spaces too.

You could use an array to save the counts (if the characters are ASCII) or a Map.
With the array, use the value of the character as the index into the array.
With the Map, the charactere would be the Map's key and the Map's value would be the count.

commented: helpful advises +0

Yes, the characters are ASCII. I see your point, but can I get atleast one little example so I can see how to do it. I don't really ask you to do the whole job for me.. Thanks again.

Which technique are you going to use to save the counts?
The array technique:
get the next char
index the array with the char(char are numeric) and add one to the count for that letter: theArray[theChar]++;

Still not manage to do it... :\

Post the code and your questions about the problems you are having.

Here it is. Now, how do I need to read char by char to put them in to my hashmap?

import java.io.File;
import java.util.HashMap;
import java.util.Scanner;



public class mepas
{

    private static Scanner x;
    {
    try {
    x = new Scanner(new File ("timbaland.txt"));
        }
    catch(Exception e) 
        {
        System.out.println("missing a file");
        }
    }

    @SuppressWarnings("unchecked")
    public static <Char> void main(String[] args)
 {
    while (x.hasNext())
    {

     Char a;
     a = System.x.Read()
     HashMap<Char, Integer> map = new HashMap<Char, Integer>();

     map.put((Char) "a",5);

     int markofA = map.get("a");

     System.out.println(markofA);




     }
    x.close();
 }
}

It's pointless trying to add more code until the code you already have compiles and, as far as is possible, executes correctly. Stage 1: fix those compile errors.

Don't know how to do it. Thanks for your interest.

Post the full text of the error messages that you need help with.

Don't know how to do it. Thanks for your interest.

No need for sarcasm. Do you know how to compile a java program? What error messages do you get? Read them carefully. most will be self-explanatory. Then as Norm says, Post the full text of the error messages that you need help with

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.