Aufgabe: Umwandlung in Großbuchstaben
Schreiben Sie eine Methode inGrossbuchstaben, die ein char-Array entgegennimmt. Die Methode soll alle Kleinbuchstaben in dem char-Array in Großbuchstaben umwandeln und zurückgeben. Alle anderen Zeichen sollen unverändert bleiben.
Hinweis: Nehmen Sie den ASCII-Code/Unicode zu Hilfe.
Das wäre die Aufgabe, hat wer dazu eine Idee? Oder eher nicht?
Sinnvoller wäre, wie es die Aufgabe sagt, die Verwendung der ASCII Tabelle.
Ich habe auch ein Beispiel gezeigt.
„If“ und Switch (Ist eigentlich ein if, if else, else Konstrukt) und dein vermeidlicher Lösungsweg damit, ist im Wesentlchen wenig wert, denn JEDES Programm kann auf diese Weise am Ende implementiert werden. Du solltest dringend die Grundlagen erlernen und verstehen und nicht in den Foren nach fertigen Lösungen suchen.
Wenn du ein IT-Studium belegst, dann wirst du damit nicht weit kommen, wie man jetzt schon sieht.
Ganz ruhig martin123. Jeder hat mal irgendwo angefangen.
@bibi98
Also ein char ist zwar ein Buchstabe auf den ersten Blick, in Wirklichkeit wird der Buchstabe aber durch eine Zahl repräsentiert.
int zahl = 'A';
System.out.println("" + zahl);
Probier das mal aus.
Wenn du jetzt mal in eine ASCII Tabelle schaust, siehst du dass die Zahl 65 für Groß-A steht. Und 90 für Groß-Z. Und wenn du noch genauer hinschaust, siehst du dass sich alle Großbuchstaben zwischen 65 und 90 befinden.
Dann noch einen Blick wo sich die Kleinbuchstaben befinden und dann brauchst du nur noch dein if
Ich kann die Grundlagen, es geht mir mehr darum, es einfacher bzw sinnvoll zu implementieren, da ich es für meine Sichtweise manchmal zu kompliziert mache.
Aber danke für deine Zuversicht, das ich es nicht drauf habe
Wenn Du nur eine Lösung brauchst, dann kann ich meine ja kommentarlos anbieten.
/**
* Verwandelt Klein- in Großbuchstaben. Zahlen und Sonderzeichen bleiben unbehandelt.
* @param c das zu untersuchende Zeichen
* @return das umgewandelte Zeichen, wenn es ein Kleinbuchstabe war
*/
public static char toUpperCase(char c) {
if(c >= 'a' && c <= 'z') {
return c-=32;
}
return c;
}
/**
* Verwandelt die im char-Array enthaltenen Klein- in Großbuchstaben.
* Zahlen und Sonderzeichen bleiben unbehandelt.
* @param c das zu untersuchende char-Array
* @return das umgewandelte char-Array
*/
public static char[] toUpperCase(char[] c) {
for(int i = 0; i < c.length; i++) {
c[i] = toUpperCase(c[i]);
}
return c;
}
Wenn du den von mir geposteten Code in eine Klasse namens ChangeCase einbaust und die main()-Methode startest, sollte das schon funktionieren.
Wenn du die Eingabe von der Konsole einliest, musst du den String zunächst in ein char-Array umwandeln, weil die Methoden mit char arbeiten.
Starte erst mal die Klasse über die main()-Methode und berichte, anschließend zeigst du mal deinen Code, sonst bringt das hier nichts. Ich habe keine Glaskugel…
BÄM! In your face Versuch’ mal, eine allgemeingültige Methode toUpperCase zu schreiben. Viel Glück…
Ich kann die Grundlagen, es geht mir mehr darum, es einfacher bzw sinnvoll zu implementieren, da ich es für meine Sichtweise manchmal zu kompliziert mache.
Es liegt bei dir, den geeigneten Zeitpunkt auszuwählen, wann du deinen Code postest:
Wenn du fertig bist? Dann hast du vielleicht viel Zeit mit etwas verschwendet, was in sehr kurzer Zeit sehr einfach gelöst werden köönnte.
Nie? Dann musst du davon ausgehen, dass Leute dir vorwerfen, dass du keine Ahnung hast, und hier nur schnell und einfach Lösungen bekommen willst.