Find duplicate characters in a String and count the number of occurances using Java

前端 未结 30 2467
遇见更好的自我
遇见更好的自我 2020-12-14 11:47

How can I find the number of occurrences of a character in a string?

For example: The quick brown fox jumped over the lazy dog.

Some example

相关标签:
30条回答
  • 2020-12-14 12:45
    public static void main(String args[]) {
        char Char;
        int count;
        String a = "Hi my name is Rahul";
        a = a.toLowerCase();
        for (Char = 'a'; Char <= 'z'; Char++) {
            count = 0;
            for (int i = 0; i < a.length(); i++) {
                if (a.charAt(i) == Char) {
                    count++;
                }
            }
            System.out.println("Number of occurences of " + Char + " is " + count);
        }
    }
    
    0 讨论(0)
  • 2020-12-14 12:48
    import java.io.*;
    public class CountChar 
    {
    
        public static void main(String[] args) throws IOException
        {
          String ch;
          BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
          System.out.print("Enter the Statement:");
          ch=br.readLine();
          int count=0,len=0;
            do
            {  
              try
              {
              char name[]=ch.toCharArray();
                  len=name.length;
                  count=0;
                  for(int j=0;j<len;j++)
                   {
                      if((name[0]==name[j])&&((name[0]>=65&&name[0]<=91)||(name[0]>=97&&name[0]<=123))) 
                          count++;
                   }
                  if(count!=0)
                    System.out.println(name[0]+" "+count+" Times");
                  ch=ch.replace(""+name[0],"");          
              }
              catch(Exception ex){}
            }
            while(len!=1);
       }
    
    }
    

    Output

    Enter the Statement:asdf23123sfsdf
    
    a 1 Times
    
    s 3 Times
    
    d 2 Times
    
    f 3 Times
    
    0 讨论(0)
  • 2020-12-14 12:49

    If your string only contains alphabets then you can use some thing like this.

    public class StringExample {
    public static void main(String[] args) {
        String str = "abcdabghplhhnfl".toLowerCase();
        // create a integer array for 26 alphabets.
        // where index 0,1,2.. will be the container for frequency of a,b,c...
        Integer[] ar = new Integer[26];
        // fill the integer array with character frequency.
        for(int i=0;i<str.length();i++) {
            int j = str.charAt(i) -'a';
            if(ar[j]==null) {
                ar[j]= 1;
            }else {
                ar[j]+= 1;
            }
        }   
        // print only those alphabets having frequency greater then 1.
        for(int i=0;i<ar.length;i++) {
            if(ar[i]!=null && ar[i]>1) {
                char c = (char) (97+i);
                System.out.println("'"+c+"' comes "+ar[i]+" times.");
            }
        }
    }
    }
    

    Output:

     'a' comes 2 times.
     'b' comes 2 times.
     'h' comes 3 times.
     'l' comes 2 times.
    
    0 讨论(0)
  • 2020-12-14 12:49
                           Map<Character,Integer> listMap = new HashMap<Character,Integer>();                         
                           Scanner in= new Scanner(System.in);
                           System.out.println("enter the string");
                           String name=in.nextLine().toString();
                           Integer value=0;
                           for(int i=0;i<name.length();i++){
    
                                         if(i==0){
                                                       listMap.put(name.charAt(0), 1);
                                         }
                                         else if(listMap.containsKey(name.charAt(i))){
                                                                    value=listMap.get(name.charAt(i));
                                                                    listMap.put(name.charAt(i), value+1);
    
                                         }else listMap.put(name.charAt(i),1);
    
    
                           }
    
                           System.out.println(listMap);
    
    0 讨论(0)
  • 2020-12-14 12:50
    import java.util.Scanner;
    
        class Test
        { 
    
            static String s2="";
            int l;
            void countDuplicateCharacters(String Str)
            {
                String S=Str.toLowerCase();
                for(int i=0;i<S.length();i++)
                {
                    int k=1;
                    boolean value=  repeatedCheck(S.charAt(i));
                    if(value==true)
                        continue;
                    for(int j=i+1;j<S.length();j++)
                    {
    
    
                        if(S.charAt(i)==S.charAt(j))
                        {   k++;
    
                        }
    
                }
                    System.out.println("character  '" +S.charAt(i)+"' : "+k);
    
                    s2=s2+S.charAt(i);
                }
    
            }
    
            boolean repeatedCheck(char ch)
            {
                l=s2.length();
                for (int i=0;i<l;i++)
                {
                    if(s2.charAt(i)==ch)
                    {
                        return true;
                    }
                }
    
                return false;
            }
    
        }
    
        public class Duplicacy {
    
            public static void main(String[] args) {
                Scanner sc=new Scanner(System.in);
                System.out.println("Enter any String");
                String s=sc.nextLine();
                Test t=new Test();
                t.countDuplicateCharacters(s);
    
    
            }}
    
    0 讨论(0)
  • 2020-12-14 12:51
    import java.util.HashMap;
    import java.util.Scanner;
    
    
    public class HashMapDemo {
    
        public static void main(String[] args) {
            //Create HashMap object to Store Element as Key and Value 
            HashMap<Character,Integer> hm= new HashMap<Character,Integer>();
            //Enter Your String From Console
            System.out.println("Enter an String:");
            //Create Scanner Class Object From Retrive the element from console to our java application
            Scanner sc = new Scanner(System.in);
            //Store Data in an string format
            String s1=sc.nextLine();
            //find the length of an string and check that hashmap object contain the character or not by using 
            //containskey() if that map object contain element only one than count that value as one or if it contain more than one than increment value 
    
            for(int i=0;i<s1.length();i++){
                if(!hm.containsKey(s1.charAt(i))){
                    hm.put(s1.charAt(i),(Integer)1);
                }//if
                else{
                    hm.put(s1.charAt(i),hm.get(s1.charAt(i))+1);
                }//else
    
            }//for
    
            System.out.println("The Charecters are:"+hm);
        }//main
    }//HashMapDemo
    
    0 讨论(0)
提交回复
热议问题