Hi Leude,
ich übe gerade ein wenig Java für eine Klausur.
folgende Problemstellung:
- die eingabe an das prog wird zeichenweise von der standardeingabe gelesen
- das prog prüft für jede eingabezeile, ob die klammerung in dieser zeile korrekt ist (das heist gleiche anzahl öffneender und schliessender klammern)
- wenn keine korrekte klammerung gegeben ist, wird die zeilennr ausgegeben!
Bsp:
a * (b + c) - x)
c * d * ( x* y)
f(y) + g(x
soll als ausgabe
1
3
liefern da ja in zeile 1 und 3 fehler sind. hier mein bisheriger Code:
Alles anzeigen
ich habe ein ganz grosses Problem die Ausgabe richtig hinzubekommen das heist nach Programmabbruch die 1 und die 3. wie ihr seht habe ich versucht, die zeilennr bei denen oeffnende ungleiche schliessende ist in ein array zu schreiben, und dieses array am ende auszugeben, dass fkt aber nicht! Wie kann ich das bewerkstelligen? brauch hilfe!
gruss
wurstel
ich übe gerade ein wenig Java für eine Klausur.
folgende Problemstellung:
- die eingabe an das prog wird zeichenweise von der standardeingabe gelesen
- das prog prüft für jede eingabezeile, ob die klammerung in dieser zeile korrekt ist (das heist gleiche anzahl öffneender und schliessender klammern)
- wenn keine korrekte klammerung gegeben ist, wird die zeilennr ausgegeben!
Bsp:
a * (b + c) - x)
c * d * ( x* y)
f(y) + g(x
soll als ausgabe
1
3
liefern da ja in zeile 1 und 3 fehler sind. hier mein bisheriger Code:
Quellcode
- public class aufgabe1 {
- public static void main (String args[]) throws java.io.IOException {
- int einlesen = System.in.read();
- int oeffnende = 0;
- int schliessende = 0;
- int zeilennr = 1;
- int[] v = new int[5];
- while(einlesen != -1)
- {
- if ((char)einlesen == '(')
- {
- oeffnende++;
- }
- if ((char)einlesen == ')')
- {
- schliessende++;
- }
- if (oeffnende != schliessende)
- {
- for (int i =0; i < v.length; i++)
- {
- v[i] = zeilennr;
- }
- break;
- }
- if (einlesen == '\n')
- {
- zeilennr++;
- }
- oeffnende = 0;
- schliessende = 0;
- einlesen = System.in.read();
- }
- for (int j = 0; j < v.length; j++)
- {
- System.out.println(v[j]);
- }
- }
- }
ich habe ein ganz grosses Problem die Ausgabe richtig hinzubekommen das heist nach Programmabbruch die 1 und die 3. wie ihr seht habe ich versucht, die zeilennr bei denen oeffnende ungleiche schliessende ist in ein array zu schreiben, und dieses array am ende auszugeben, dass fkt aber nicht! Wie kann ich das bewerkstelligen? brauch hilfe!
gruss
wurstel