Stapelmaschine < Java < Programmiersprachen < Praxis < Informatik < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 17:42 Sa 28.01.2012 | Autor: | emulb |
Aufgabe | Eine einfache Stapelmaschine ist eine Maschine zur Ausführung einfacher Programme, die auf einem Stapel arbeitet und folgende Befehle unterstützt:
- load a legt die Zahl a auf den Stapel
- mul nimmt zwei Zahlen vom Stapel, multipliziert sie und legt das Ergebnis wieder auf den Stapel
- add nimmt zwei Zahlen vom Stapel, addiert sie und legt das Ergebnis wieder auf den Stapel
- stop hält die Maschine an und gibt das oberste Stapelelement aus.
Es soll nun eine Klasse StackMachine implementiert werden, die solche Stapelprogramme ausführen kann und das Ergebnis der Berechnung auf dem Bildschirm ausgibt. Gehen Sie dabei wie folgt vor:
i) Geben Sie zunächst ein Stapelprogramm an, welches die Berechnung 4x(3+2) durchführt. |
Das x in der Berechnung steht schon für die Multiplikation oder??
4x(3+2)
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 20:35 Sa 28.01.2012 | Autor: | chrisno |
ja,anders macht das keinen Sinn
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 15:57 So 29.01.2012 | Autor: | emulb |
Mein Grundprogramm sieht folgendermaßen aus. Bin aber noch nicht fertig jedoch entsteht bereits eine Fehlermeldung.
1: | public class Stack {
| 2: |
| 3: | public static void main (String args[]) {
| 4: |
| 5: | Stapel meinStapel = new Stapel ();
| 6: |
| 7: | if (meinStapel != null) {
| 8: | System.out.println ("Stack wurde angelegt") ; }
| 9: | if (meinStapel.isEmpty()) {
| 10: | System.out.println ("Stack ist leer"); }
| 11: | else {System.out.println ("Stack ist nicht leer"); }
| 12: |
| 13: | meinStapel.push (2);
| 14: | meinStapel.push (3);
| 15: | meinStapel.push (4);
| 16: |
| 17: | if (meinStapel.isEmpty()) {
| 18: | System.out.println ("Stack ist leer"); }
| 19: | else {System.out.println ("Stack ist nicht leer"); }
| 20: |
| 21: | System.out.println ("Das letzte gepushte Element: "+meinStapel.pop() );
| 22: | System.out.println ("Das letzte gepushte Element: "+meinStapel.pop() );
| 23: | System.out.println ("Das letzte gepushte Element: "+meinStapel.pop() );
| 24: |
| 25: | if (meinStapel.isEmpty()) {
| 26: | System.out.println ("Stack ist leer"); }
| 27: | else {System.out.println ("Stack ist nicht leer"); }
| 28: |
| 29: | }
| 30: | }
| 31: |
|
Die Fehlermeldung: error cannot find symbol
Stapel meinStapel = new Stapel ();
Wie kann ich Stapel in class definieren?
Sieht meine implementierung soweit richtig aus? (Es fehlt halt noch mul und add, wovon ich grad keine ahnung hab. :) Wie gehört das jetzt dann in das obere Programm?)
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 23:29 So 29.01.2012 | Autor: | sandp |
> Mein Grundprogramm sieht folgendermaßen aus. Bin aber noch
> nicht fertig jedoch entsteht bereits eine Fehlermeldung.
>
> 1: | public class Stack {
| 2: | >
| 3: | > public static void main (String args[]) {
| 4: | >
| 5: | > Stapel meinStapel = new Stapel ();
| 6: | >
| 7: | > if (meinStapel != null) {
| 8: | > System.out.println ("Stack wurde angelegt") ; }
| 9: | > if (meinStapel.isEmpty()) {
| 10: | > System.out.println ("Stack ist leer"); }
| 11: | > else {System.out.println ("Stack ist nicht leer"); }
| 12: | >
| 13: | > meinStapel.push (2);
| 14: | > meinStapel.push (3);
| 15: | > meinStapel.push (4);
| 16: | >
| 17: | > if (meinStapel.isEmpty()) {
| 18: | > System.out.println ("Stack ist leer"); }
| 19: | > else {System.out.println ("Stack ist nicht leer"); }
| 20: | >
| 21: | > System.out.println ("Das letzte gepushte Element:
| 22: | > "+meinStapel.pop() );
| 23: | > System.out.println ("Das letzte gepushte Element:
| 24: | > "+meinStapel.pop() );
| 25: | > System.out.println ("Das letzte gepushte Element:
| 26: | > "+meinStapel.pop() );
| 27: | >
| 28: | > if (meinStapel.isEmpty()) {
| 29: | > System.out.println ("Stack ist leer"); }
| 30: | > else {System.out.println ("Stack ist nicht leer"); }
| 31: | >
| 32: | > }
| 33: | > }
| 34: | >
| 35: | > |
>
> Die Fehlermeldung: error cannot find symbol
> Stapel meinStapel = new Stapel ();
>
> Wie kann ich Stapel in class definieren?
> Sieht meine implementierung soweit richtig aus? (Es fehlt
> halt noch mul und add, wovon ich grad keine ahnung hab. :)
> Wie gehört das jetzt dann in das obere Programm?)
>
Hast du eine Klasse "Stapel" angelegt?
so wie ich das verstehe, musst du den Stack selber schreiben und darfst nicht die Java Bibliothek benutzen oder?
ja das Programm macht ja bisher nicht viel
|
|
|
|