Hallo, habe laut PreTest 2 Fehler die ich noch beseitigen muss, nach Stunde ausprobieren und Überlegungen habe ich mich entschlossen das mal zu posten.
Aufgabenstellung:
Hinweis was ich auch nicht drin habe im Code: Am letzten " } " ist noch ein Zeilenumbruch.
Folgende Fehler im Pretest:
Mein Code soweit:
Tut mir Leid das der Post so lang geworden ist wollte aber keine Frage zur Aufgabenstellung offen lassen.
Für das Beispiel :
public class Hi { public static void main(String[] args) { System.out.println("Hi!"); } }
Bekomme ich das richtige bis auf den letzten Zeilenumbruch am Ende.
Aufgabenstellung:
Hinweis was ich auch nicht drin habe im Code: Am letzten " } " ist noch ein Zeilenumbruch.
Folgende Fehler im Pretest:
Code:
FEHLER: zuletzt erwarteter und tatsächlich erhaltener Wert unterscheiden sich
erwartet wurde: "public class NochEinHai {
public static void main(String[] args) {
System.out.println("Hohe Flosse!");
System.out.println("Hohe Flosse!");
}
}
"
erhalten wurde: "public class NochEinHai {
public static void main(String[] args) {
System.out.println("Hohe Flosse!");
System.out.println("Hohe Flosse!");
}
}"
FEHLER: zuletzt erwarteter und tatsächlich erhaltener Wert unterscheiden sich
erwartet wurde: "public class Hi {
public static void main(String[] args) {
System.out.println("Hi!");
}
}
"
erhalten wurde: "public class Hi {
public static void main(String[] args) {
System.out.println("Hi!");
}
}"
Mein Code soweit:
Java:
public static void prettifyJava(int tab) {
String einruecken = "";
for (int leerzeichen = 1; leerzeichen <= tab; leerzeichen++) {
einruecken = einruecken + "+";
}
Scanner sc = new Scanner(System.in);
int block = 0;
String vor = "";
String eingabe;
while (sc.hasNext()) {
eingabe = sc.next();
if (eingabe.endsWith(";")) {
if (block != 0) {
for (int i = 1; i <= block; i++) {
System.out.print(einruecken);
}
}
System.out.println(eingabe);
}
else if (eingabe.equals("{")) {
System.out.println(eingabe);
if (block == 0) {
System.out.print(einruecken);
}
block++;
}
else if (eingabe.equals("}")) {
block--;
if (!vor.endsWith(";")) {
System.out.println();
}
if (block != 0) {
for (int i = 1; i <= block; i++) {
System.out.print(einruecken);
}
}
System.out.print(eingabe);
} else
System.out.print(eingabe + " ");
vor = eingabe;
}
sc.close();
}
Tut mir Leid das der Post so lang geworden ist wollte aber keine Frage zur Aufgabenstellung offen lassen.
Für das Beispiel :
public class Hi { public static void main(String[] args) { System.out.println("Hi!"); } }
Bekomme ich das richtige bis auf den letzten Zeilenumbruch am Ende.
Zuletzt bearbeitet: