Hi!
Es geht um folgende zwei Aufgaben:
Aufgabe 1:
Dieses Snipet zählt einfach das Vorkommnis jedes Buchstaben und die Ausgabe ist demnach:
6A1B2K
Nun soll die Aufgabe folgendermaßen abgewandelt werden, so dass folgendes rauskommt:
4A2K2A1B
Es fällt zb. sofort auf, dass die Ausgabe nicht mehr alphabetisch vorgeht, sondern in der Reihenfolge des Strings.
Daher müsste nun der String in der äußeren Schleife sein?
Erste Gehversuche bzgl. Aufgabe 2:
Da passt also noch gar nichts.
Ich würde genre checken, was da los ist, aber beim Debugging-Tool funzt nicht mehr - weiß hier Jemand Bescheid, warum es nicht mehr geht:
Ich versuche in Zeile 6 den Toogle-Breakingpoint zu setzen, aber es funzt nicht, wie gewohnt.
Auf Klick auf das "Käfer"_Symbol kommt es zur Ausgabe, aber es öffnet sich kein Debugging-window, in dem ich wie gewohnt mit "step over" gucken kann, was das Programm step für step macht.
Kann da evtl. Jemand helfen?
Lg,
Zrebna
Zusatz_OfftopicFrage aus Interesse:
Wieso kann man eigentlich bei Java bzgl. charr-Arrays nicht innerhalb einer Schleife auf Länge so prüfen, wie bei C mittels (ich weiß nicht notwendig hier, aber hypotetisch interessiert es mich) :
" for(i = 0; array != '\0'; i++)
?
Funktionieren char-Arrays in Java speichertechnisch anders und nach dem letztem Buchstaben eines Arrays, folgt nicht '\0'?
Es geht um folgende zwei Aufgaben:
Aufgabe 1:
Java:
package ex1;
public class CharCounterPresentation {
public static void main(String[] args) {
String s = "AAAAKKAAB";
char[] array = s.toCharArray();
// System.out.println(array.length); == 9
for(int i = 0; i < 26; i++) {
int counter = 0;
for(int j = 0; j < 9; j++) {
if(array[j] == i + 'A' || array[j] == i + 'a') {
counter++;
}
}
if(counter > 0) {
System.out.printf("%d%c", counter, i + 'A');
}
}
}
}
Dieses Snipet zählt einfach das Vorkommnis jedes Buchstaben und die Ausgabe ist demnach:
6A1B2K
Nun soll die Aufgabe folgendermaßen abgewandelt werden, so dass folgendes rauskommt:
4A2K2A1B
Es fällt zb. sofort auf, dass die Ausgabe nicht mehr alphabetisch vorgeht, sondern in der Reihenfolge des Strings.
Daher müsste nun der String in der äußeren Schleife sein?
Erste Gehversuche bzgl. Aufgabe 2:
Java:
package ex1;
public class CharCounterPresentation {
public static void main(String[] args) {
String s = "AAAAKKAAB";
char[] array = s.toCharArray();
// System.out.println(array.length); == 9
for(int i = 0; i < 9-1; i++) {
int counter = 0;
for(int j = 0; j < 26; j++) {
if(array[i] == array[i+1]) {
if(array[i] == j + 'A' || array[i] == j + 'a') {
counter++;
}
}
}
if(counter > 0) {
System.out.printf("%d%c", counter, i + 'A');
}
}
}
}
Da passt also noch gar nichts.
Ich würde genre checken, was da los ist, aber beim Debugging-Tool funzt nicht mehr - weiß hier Jemand Bescheid, warum es nicht mehr geht:
Gyazo
gyazo.com
Ich versuche in Zeile 6 den Toogle-Breakingpoint zu setzen, aber es funzt nicht, wie gewohnt.
Auf Klick auf das "Käfer"_Symbol kommt es zur Ausgabe, aber es öffnet sich kein Debugging-window, in dem ich wie gewohnt mit "step over" gucken kann, was das Programm step für step macht.
Kann da evtl. Jemand helfen?
Lg,
Zrebna
Zusatz_OfftopicFrage aus Interesse:
Wieso kann man eigentlich bei Java bzgl. charr-Arrays nicht innerhalb einer Schleife auf Länge so prüfen, wie bei C mittels (ich weiß nicht notwendig hier, aber hypotetisch interessiert es mich) :
" for(i = 0; array != '\0'; i++)
?
Funktionieren char-Arrays in Java speichertechnisch anders und nach dem letztem Buchstaben eines Arrays, folgt nicht '\0'?