Java :: Aufgabe #95 :: Lösung #2
3 Lösungen

#95
Das Häufigste Element in einem Array
Anfänger - Java
von klhlubek19
- 16.07.2015 um 13:46 Uhr
Schreiben Sie ein Programm, das aus einem Array das häufigste Element findet. Sollte es mehrere gleicher Anzahl finden, so darf irgend ein Element dieser Häufigsten ausgegeben werden.
#2

von Posic (130 Punkte)
- 20.09.2015 um 18:03 Uhr
Zitat:
Newbie am Werk. Programmier noch nicht lange. Falls jemand Verbesserungen sieht würde ich mich freuen wenn man mir die mitteilt.
Kritik ist genauso gern gesehen(Solange es nicht persönlich wird) :).

/****************************************** *Das Häufigste Element in einem Array! * *Schreibe Sie ein Programm, das aus einem * *Array das häufigste Elemente findet. * *Sollte es mehrere gleicher Anzahl finden,* *so darf irgendein Element dieser * *Häugigsten ausgegeben werden. * ******************************************/ import javax.swing.*; class ArrayVergleichUebung { public static void main(String[] args) { JOptionPane.showMessageDialog(null, "Guten Tag, hier ermitteln wir die Häufigsten Zeichen in einem Element."); String eingabe = JOptionPane.showInputDialog("Bitte ein Element mit max. 15 zeichen!"); //Int für die schleifen zählung int schleife; //Alle buchstaben die später identisch sind String dieBuchstaben = ""; //zählen wie viele buchstaben identisch sind int wievieleBuchstaben = 0; //Schauen wann ein buchstabe gleich ist boolean vergleich; //index Anzahl ints int buchstabefuer2 = 1; int buchstabe1 = 0; int buchstabe2 = 0; //Länge des Strings ermitteln int stringLaenge0 = eingabe.length(); int stringLaenge1 = (int)stringLaenge0; //Ermitteln der schleifen länge int schleifenLaenge =28; //rlyLaenge = Richtige Länge des Strings int rlyLaenge = stringLaenge1-1; //Benutzer eingabe einfuegen in einem CharArray char[] chars = eingabe.toCharArray(); if(stringLaenge1 == 2 || stringLaenge1 == 3) { schleifenLaenge = (int)stringLaenge1*1; } else if(stringLaenge1 == 4) { schleifenLaenge = (int)(stringLaenge1*1.5d); } else if(stringLaenge1 == 5) { schleifenLaenge = (int)stringLaenge1*2; } else if(stringLaenge1 == 6) { schleifenLaenge = (int)(stringLaenge1*2.5d); } else if(stringLaenge1 == 7) { schleifenLaenge = (int)stringLaenge1*3; } else if(stringLaenge1 == 8) { schleifenLaenge = (int)(stringLaenge1*3.5d); } else if(stringLaenge1 == 9) { schleifenLaenge = (int)stringLaenge1*4; } else if(stringLaenge1 == 10) { schleifenLaenge = (int)(stringLaenge1*4.5d); } else if(stringLaenge1 == 11) { schleifenLaenge = (int)stringLaenge1*5; } else if(stringLaenge1 == 12) { schleifenLaenge = (int)(stringLaenge1*5.5d); } else if(stringLaenge1 == 13) { schleifenLaenge = (int)stringLaenge1*6; } else if(stringLaenge1 == 14) { schleifenLaenge = (int)(stringLaenge1*6.5d); } else if(stringLaenge1 == 15) { schleifenLaenge = (int)stringLaenge1*7; } else if(stringLaenge1>15) { JOptionPane.showMessageDialog(null, "Bitte führen sie das programm nochmal aus, mit max. 15 Zeichen!"); System.exit(0); } for(schleife=0;schleife<=schleifenLaenge;) { buchstabe2 = buchstabefuer2; for(;buchstabe2<=rlyLaenge;) { vergleich = (chars[buchstabe1] == chars[buchstabe2]); if(vergleich == true) { wievieleBuchstaben++; dieBuchstaben += chars[buchstabe1]; vergleich = false; } buchstabe2++; } buchstabefuer2++; buchstabe1++; schleife++; } JOptionPane.showMessageDialog(null, "Es sind " + wievieleBuchstaben + " paar Zeichen gleich. Es sind die " + "|" + dieBuchstaben + "|" + "'s die geich sind."); } }
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1