my code stock.com

Snippet-Optionen

Download: Snippet als maxocc.java herunterladen.
Snippet kopieren: Für diese Aktion benötigst du einen kostenlosen my code stock.com Account
Embed-Code : Du findest den Embed-Code für dieses Snippet am Ende der Seite, wenn du es in eine Webseite oder einen Blog einbinden möchtest!

/*
 * CountClass implements counting the largest occurring consecutive element
 */
import java.util.HashMap;
import java.util.Map; 
import java.util.ArrayList;
 
class MyException extends Exception {
    public MyException (String msg) {
	    super(msg);
    }
}
 
public class CountClass {
    public static void main(String[] args) throws MyException {
	    //to put a try block
		try {
		    String aString = args[0];
	        countCharOccr(args[0]);
		} catch(Exception e) {
		    throw new MyException("Argument too less");
		}
	}
	
	/*
	 * @return void
	 */
	public static void countCharOccr(String pString) {
	    Map<Character, Integer> aFreq = new HashMap<Character, Integer>();
		
		char aLookup = '\0';
		int aCount = 1;
	    //for (char ch : pString.toCharArray()) {
		for (int i = 0; i < pString.length(); i++) {
		    
			if (aLookup == pString.charAt(i)) {
			    aCount++;
				continue;
			    //aFreq.put(ch, count + 1);
			} else {
			   
			
			    int aValue = aFreq.containsKey(aLookup) ? aFreq.get(aLookup) : 0;
	
                if (aCount > aValue && aLookup != '\0') 
                    aFreq.put(aLookup, aCount);
                aCount = 1;			
                aLookup = pString.charAt(i);				
			}
		}
		
		
		//checking for the last character
		int aValue = aFreq.containsKey(aLookup) ? aFreq.get(aLookup) : 0;
		if (aCount > aValue)
		    aFreq.put(aLookup, aCount);
		
		for (Map.Entry<Character, Integer> entry : aFreq.entrySet()) {
            System.out.println(entry.getKey()+" : "+entry.getValue());
		}
		
		ArrayList<String> myList = new ArrayList<>();
		Character maxKey = null;
		Integer maxValue = Integer.MIN_VALUE;
		
		int j = 0;
		String aString = null;
		for (Map.Entry<Character, Integer> entry : aFreq.entrySet()) {
		    if (entry.getValue() > maxValue) {
			    myList.clear();
			    maxValue = entry.getValue();
				maxKey = entry.getKey();
				
                aString = "'" + maxKey + "' for " + maxValue + " times ";
				myList.add(aString);
		    } else if (entry.getValue() == maxValue) {
			    maxValue = entry.getValue();
				maxKey = entry.getKey();
			    aString = "'" + maxKey + "' for " + maxValue + " times ";
			    myList.add(aString);
			}
		}
		System.out.println("\nThe largest occuring letter: \n");
		for (String s : myList) 
		    System.out.println(s);
		//System.out.println("The largest occuring letter is '" + maxKey + "' for " + maxValue + " times ");
 	}
}

Jetzt kostenlosen my code stock.com Account anlegen

my code stok.com ist ein kostenloser Dienst zum Speichern und Verwalten von Code-Snippets jeglicher Art und Programmiersprache. Wir bieten dir viele Vorteile für die tägliche Arbeit mit Code-Snippets und der gemeinsamen Arbeit im Team, probier es aus!

Jetzt informieren und registrieren

Du kannst die Höhe des iFrame-Codes beliebig anpassen! Mehr Infos findest du in unserer Embed-Code API Referenz.