Alphabet rückwärts ausgeben

butsch

Mitglied
Hey Leute, vielleicht kann mir hier jemand helfen.

Ich bemüh mich gerade ein Programm zu schreiben, welches das Alphabet in umgekehrter Reihenfolge ausgibt. Um den Umgang mit Schleifen zu lernen, will ich dabei am besten alle drei Schleifen (for, while, do..while) einsetzen.

Die Ausgabe soll dann am Bildschirm zyxwvutsrqponmlkjihgfedcba sein.

Also meine Idee war jetzt die 26 Buchstaben von chars in int zu deklarieren, sodass man dann für a=1 b=2 int werte zum vergleichen rausbekommt.

Es ist ja nun so, dass java dann die umgekehrte Reihenfolge ausgeben soll.
Mit den 3 Schleifen soll z.b. a mit b verglichen werden, und der größere Wert von rechts nach links verschoben werden. also hier dann b a. Wenn java durch Schleifen dann jeden Buchstaben verglichen hat, sthet zum Schluss ja zyx... (weil z ja den größten wert hat)

Keine Ahnung ob das so geht, aber mit den Schleifen kann man ja so die Werte immer vergleichen.

Soweit so gut, da ich aber ein wirklich absoluter neuling auf dem Gebiet bin und mein Wissen größtenteils aus der theoretischen Wissensvermittlung diverser Bücher hab, hab ich keine Ahnung wie man da jetzt vorgeht.

Wär cool wenn mir da jemand helfen könnte!

Ach ja, ich benutze Eclipse, bzw probiere es zumindest 😉


LG Butsch
 
Wieso so kompliziert? Du musst es ja nur ausgeben...
Java:
for (char c='z';c>='a';c--) {
  System.out.print(c);
}
 
Was willst du :bahnhof: ? Du kannst natürlich ein Array der ensprechenden Grösse deklarieren, und da jeweils ein Buchstabe zuordnen und danach über das Array iterieren. Aber was für einen Sinn macht das? Ok, du könntest noch die for-each Schleife kennenlernen, aber das wird wohl auch so klappen (ungetestet):
Java:
for (char c : new char[] {'z', 'y', 'x', ...}) {
    System.out.print(c);
}
 
Java:
char[] buchstaben = new char[26];
int j = 0;
for(char i = 'a'; i <= 'z'; i++){
    buchstaben[j++] = i;
}

Da hast du dein Array...
 
Ich würde gerne jedem Buchstaben eine Zahl zuweisen und dann per schleife die zahlen miteinander vergleichen

Zum Beispiel a=1, b=2, c=3 usw
Und das Programm soll dann erkennen, dass 3>2>1 ist, damit dann am Ende cba rauskommt


Schreibe doch komplett was es in der Konsole anzeigen soll und wie, dann koennen wir dir schneller helfen. a=1 macht wenig Sinn, a ein Buchstabe und 1 eine Zahl, moechtest du die Buchstaben nummerieren, damit weisst wieviele es sind?
 
Schreibe doch komplett was es in der Konsole anzeigen soll und wie, dann koennen wir dir schneller helfen. a=1 macht wenig Sinn, a ein Buchstabe und 1 eine Zahl, moechtest du die Buchstaben nummerieren, damit weisst wieviele es sind?

Schreibe doch komplett was es in der Konsole anzeigen soll und wie, dann koennen wir dir schneller helfen. a=1 macht wenig Sinn, a ein Buchstabe und 1 eine Zahl, moechtest du die Buchstaben nummerieren, damit weisst wieviele es sind?

Naja ich will ja, dass danach das Alphabet rückwärts dasteht und, selbst wenn das einigen umständlich erscheint, will ich das mit einer Schleife machen. Und da sich Buchstaben nicht vergleichen lassen, dachte ich mir ich weise jedem Buchstaben eine Zahl von 1-26 zu, damit das Programm dann die zahlen nach größe vergleicht und die größte Zahl, also z (da ich ja gesagt hab z=26 und im Alphabet die höchste Zahl) an den anfang schreibt und die kleinste Zahl, also a an das Ende

Das waren nur meine Überlegungen wie ich das mit ner Schleife hinkrieg, vll denk ich auch viel zu kompliziert 🙂


Lange Rede, kurzer Sinn: es soll am Ende
zyxwvutsrqponmlkjihgfedcba
Dastehen und ich will's mit einer Schleife erreichen
 
Java:
char[] buchstaben = new char[26];
int j = 0;
for(char i = 'a'; i <= 'z'; i++){
    buchstaben[j++] = i;
}

Da hast du dein Array...

Ah tut mir leid, ist nicht 1-26 sondern 0-25.....

Java:
for(int i = 25; i >= 0; i--){
    System.out.println(buchstaben[i]);
}

Und damit kannst du es dann ausgeben...

PS: Gewöhn dich bitte dran, dass in sämtlichen (mir bekannten) Programmiersprachen Arrays Null-Basiert sind, also mit 0 und nicht mit 1 anfangen.
 
Ah tut mir leid, ist nicht 1-26 sondern 0-25.....

Java:
for(int i = 25; i >= 0; i--){
    System.out.println(buchstaben[i]);
}

Und damit kannst du es dann ausgeben...

PS: Gewöhn dich bitte dran, dass in sämtlichen (mir bekannten) Programmiersprachen Arrays Null-Basiert sind, also mit 0 und nicht mit 1 anfangen.



Super :applaus: vielen dank!

und wie kann ich das mit der while und der do....while schleife machen?
 
Java:
for(int i = 25; i >= 0; i--){
    System.out.println(buchstaben[i]);
}

Java:
int i = 25;
while(i >= 0){
    System.out.println(buchstaben[i]);
 i--;
}


Java:
int i = 25;
do{
    System.out.println(buchstaben[i]);
 i--;
}while(i >= 0);
 
Java:
for(int i = 25; i >= 0; i--){
    System.out.println(buchstaben[i]);
}

Java:
int i = 25;
while(i >= 0){
    System.out.println(buchstaben[i]);
 i--;
}


Java:
int i = 25;
do{
    System.out.println(buchstaben[i]);
 i--;
}while(i >= 0);



danke, jetzt hab ich das auch verstanden! 😀
 
[Java]

int a=(int)'a';
int z=(int)'z';

for(int i=z;i>=a;i--){

System.out.println((char)i);

}

//ist nur Beispielcode keine Garantie das es Funktioniert

[/Java]

🙂
 

Zurück
Oben