For-Schleifen < Java < Programmiersprachen < Praxis < Informatik < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 09:08 Do 02.08.2012 | Autor: | Acharry |
Eingabefehler: "{" und "}" müssen immer paarweise auftreten, es wurde aber ein Teil ohne Entsprechung gefunden (siehe rote Markierung)
Aufgabe | Ich habe diese Frage in keinem anderen Forum gestellt.
public static void main(String[] args) {
// TODO Auto-generated method stub
Aufgabe meineAufgabe = new Aufgabe();
char[] name = new char[8];
name[0]='m';
name[1]='u';
name[2]='s';
name[3]='t';
name[4]='e';
name[5]='r';
name[6]='l';
name[7]='e';
meineAufgabe.aufgabe1(name);
public class Aufgabe{
/**
* @param args
*/
private void aufgabe1(char name[]){
//System.out.println("Hallo");
int j=(name.length);
for(int i = j-1; i!=-1;i--)//Ausgabe des Namens
{
for(int k=0;k!=j;k++)
{
System.out.print(' ');//Leerzeichen werden gesetzt
}
for(int l=name.length-j-1;l!=-1;l--)
{
System.out.print(name[l]);//Ausgabe des Buchstabenteils
}
j--;
System.out.println(' ');
}
}
} |
Bei dieser Aufgabe soll ich eine Zahlenpyramide erstellen, das funktioniert aber leider nicht so richtig. Könnte mir da jnd. die Schleifen erklären. ich bin neu in diesem Fach.
So sollte eine symmetrische Pyramide entstehen:
M
M U
M U S
M U S T
M U S T E
M U S T E R
M U S T E R L
M U S T E R L E
|
|
|
|
Hi,
also der Grundaufbau scheint korrekt zu sein, jedoch machst Du es dir unnötig kompliziert mit den vielen Variablen, die manchmal voneinander abhängen und manchmal unabhängig voneinander sind. Da du mit Kommentaren dann auch sehr sparsam bist und die Einrückung totaler murks ist (liegt vielleicht hier am Formeleditor), ist das dann sehr schwer zu verstehen.
Ich würde im Grundaufbau so vorgehen:
for (int i = 0; i < name.length; ++i) { // Schleife für jede Zeile
// Ausgabe der Leerzeichen -> Hast Du schon eine Schleife für
// Ausgabe der passenden Buchstaben, in Abhängigkeit von i (!!)
}
Die Abhängigkeit von i hast Du deswegen drin, weil du in der i'ten Zeile die ersten i Buchstaben von "name" ausgeben musst.Diesen Satz musst du quasi in Java-Code übersetzen.
Wenn Du meine for-Schleife übernimmst, musst Du dran denken, dass i jedoch bei 0 anfängt zu zählen [mm] \Rightarrow [/mm] Du musst irgendwo noch "+1" draufaddieren, weil sozusagen in der 0'ten Zeile die ersten (0+1) Buchstaben von name ausgegeben werden sollen
Gruß
Pille
|
|
|
|