Blender3D
Top Contributor
Das passt dann aber nicht zum Wechsel von 3 auf 6 Parameter. ???Soweit ich ihn verstanden hatte, ist die Methode vorgegeben ist (zwecks Testcase).
Das passt dann aber nicht zum Wechsel von 3 auf 6 Parameter. ???Soweit ich ihn verstanden hatte, ist die Methode vorgegeben ist (zwecks Testcase).
Die Methode heißt schon empty nur. Es sind keine Syntax-Fehler. Der Test auf leeren Stack funktioniert nicht.muss es heißen.Java:while (!positions.isEmpty()) {
Dann musst Du bei Deiner Stack Klasse diesen Bug beheben.Die Methode heißt schon empty nur. Es sind keine Syntax-Fehler. Der Test auf leeren Stack funktioniert nicht.
Ja ich wäre auch lieber bei isempty geblieben, abder das war leider die Vorgabe.Dann musst Du bei Deiner Stack Klasse diesen Bug beheben.
PS: isEmpty wäre der übliche Name bei so einer Funktion.
if (ch == '(' || ch == '[' || ch == '{' ) {
positions.push(new CharacterPosition(row, col, ch));
}
else if(ch == ']') {
if(!positions.empty()) {
CharacterPosition p = positions.pop();
if(p.character == '[') {
Main.printMatch(p.row+1,p.col+1,p.character, row+1, col+1,ch);
}
else {
Main.printUnmatchedClosingBracket(row+1, col+1,ch);
}
}
else {
Main.printUnmatchedClosingBracket(row+1, col+1,ch);
}
}
else if(ch == ')') {
if(!positions.empty()) {
CharacterPosition p = positions.pop();
if(p.character == '(') {
Main.printMatch(p.row+1,p.col+1,p.character, row+1, col+1,ch);
}
else {
Main.printUnmatchedClosingBracket(row+1, col+1,ch);
}
}
else {
Main.printUnmatchedClosingBracket(row+1, col+1,ch);
}
}
else if(ch == '}') {
if(!positions.empty()) {
CharacterPosition p = positions.pop();
if(p.character == '{') {
Main.printMatch(p.row+1,p.col+1,p.character, row+1, col+1,ch);
}
else {
Main.printUnmatchedClosingBracket(row+1, col+1,ch);
}
}
else {
Main.printUnmatchedClosingBracket(row+1, col+1,ch);
}
}
}
if ( isBracketOpen(ch) ) {
positions.push(new CharacterPosition(row, col, ch));
}else if( isBracketClose(ch) ) {
CharacterPosition p = positions.pop();
if(!checkBracketPair( ch, p.character )) {
Main.printUnmatchedClosingBracket(row+1, col+1,ch);
}else{
Main.printMatch(p.row+1,p.col+1,p.character, row+1, col+1,ch);
}
}
Ach, ist das nicht java.util.Stack?Ja ich wäre auch lieber bei isempty geblieben, abder das war leider die Vorgabe.
Ich vermute mal, dass er sein Programm irgendwo hochladen muss und seine Klasse dann in irgendeinem Test-Framework ausgeführt wird und dort die Main.printXYZ-Methoden etwas anders implementiert sind.Das passt dann aber nicht zum Wechsel von 3 auf 6 Parameter. ???
Ne das mussten wir selber implementieren zu Übungszwecken. Das habe ich noch hinbekommenAch, ist das nicht java.util.Stack?
Genau so ist es. Der Test mit Stack ist leer hat nicht funktioniert. Aber es ist doch egtl kein Fehler in meinem Programm?Ich vermute mal, dass er sein Programm irgendwo hochladen muss und seine Klasse dann in irgendeinem Test-Framework ausgeführt wird und dort die Main.printXYZ-Methoden etwas anders implementiert sind.
Wenn die Methode nicht falsch ist, dann ist die folgende Aussage aber falsch.Ne die Methode ist nicht falsch.
Der Test auf leeren Stack funktioniert nicht.