Ich muss ein Programm schreiben, das die eindeutigen Zeichen in einem vom Benutzer angegebenen String zählt. Zum Beispiel gibt "abc" 3 und "aabbccd" 4 zurück. Ich darf keine fortgeschrittenen Java-Klassen wie Map, Set usw. verwenden. Ich kann nur Arrays, Strings, For-Schleifen, While-Schleifen und If-Anweisungen verwenden. Ich versuche, eine verschachtelte Schleife zu verwenden, bin aber verwirrt darüber, wie ich den Algorithmus für die zweite for-Schleife schreiben soll.
public static int countUniqueCharacters(String input){
String orgInput = input.toLowerCase();
int count = 0;
int stringLength = input.length();
for( int i = 0; i<stringLength; i++){
for(int j = 2; j > j-i-1; j--){
char temp = orgInput.charAt(i);
if (temp == orgInput.charAt(j)){
count++;
Lösung des Problems
Mit Java 8 könnten Sie Folgendes tun:
public static long countUniqueCharacters(String input) {
return input.chars()
.distinct()
.count();
}
Dies erstellt eine IntStream
von char
s, nimmt dann nur unterschiedliche Werte und zählt dann die Anzahl der Vorkommen.
Keine Kommentare:
Kommentar veröffentlichen