UPN Rechner

prof_m

Mitglied
Guten Abend!
Folgendes Problem, soll ein Java Programm schreiben, welches einen UPN (UPN = umgekehrte polnische Notation) Taschenrechner Simuliert. Habe bereits folgenden Quellcode geschrieben:
Java:
import java.io.*;

public class stapel {
    private static int[] stack;
    private static int size;
    int Vorzeichen;
    boolean ende;

    public static void init(){
        stack = new int[10];
        size = 0;
    }

    public static boolean empty(){
        return size == 0;
    }

    public static int peek(){
        return stack[size-1];
    }

    public static int pop(){        
        return stack[--size];       
    }

    public static void push(int value){
        if(size == stack.length){
            reSize();
        }
        stack[size++] = value;
    }

    public static void reSize(){
        int[] tmp = new int[stack.length * 2];
        for(int i = 0; i < stack.length; i++){
            tmp = stack;
        }
        stack = tmp;
    }

    public static int getSize(){
        return size;
    }

    public static void readFirst() throws IOException{

        int input = System.in.read();
        
        if(input >= '0' && input <= '9'){
            int tmp = readZahl(input - '0');
            if(tmp != -1){
                if(Vorzeichen == '-'){
                    tmp *= -1;
                }
                stapel.push(tmp);
                Vorzeichen = 0;
            }
        } else if (input == '+' || input == '-' || input == '*' || input == '/') {
            Vorzeichen = input;

        } else if (input == '\n' || input == '\r'){
            if(Vorzeichen == '+' || Vorzeichen == '-' || Vorzeichen == '*' || Vorzeichen == '/'){
                rechne(Vorzeichen);
                Vorzeichen = 0;
            } else if(!stapel.empty()){
                ende = true;
            }

        } else {
            System.out.println("böse eingabe!");
            eatEvil();
        }
    }

     public static int readZahl(int number) throws IOException{
        int input;
        while(true){            
            input = System.in.read();
            if(input >= '0' && input <= '9'){
                number = number * 10 + (input - '0');
            } else if(input == '\n'){
                break;
            } else {
                System.out.println("Fehler!");
                eatEvil();
                return -1;
            }
        }
        return number;
    }

     public static void eatEvil() throws IOException{
        while(true){
            int input = System.in.read();
            
            if (input == '\r') {
            } else if (input == '\n') {
                break;
            } else {
            }
        }
    }

     public static void rechne(int operator){
        int ergebnis = 0;
        
        if(stapel.getSize() >= 2){
            int zahl2 = stapel.pop();
            int zahl1 = stapel.pop();
        
            switch (operator){
            case '+':
                ergebnis = zahl1 + zahl2;
                System.out.println(zahl1 + " + " +zahl2 + " = " + ergebnis);
                break;
            case '-':
                ergebnis = zahl1 - zahl2;
                System.out.println(zahl1 + " - " +zahl2 + " = " + ergebnis);
                break;
            case '*':
                ergebnis = zahl1 * zahl2;
                System.out.println(zahl1 + " * " +zahl2 + " = " + ergebnis);
                break;
            case '/':
                if(zahl2 != 0){
                    ergebnis = zahl1 / zahl2;
                    System.out.println(zahl1 + " / " +zahl2 + " = " + ergebnis);
                } else {
                    System.out.println("Ungültige Operation: Division durch 0");
                    stapel.push(zahl1);
                }
                break;
            }
            stapel.push(ergebnis);
        } else {
            System.out.println("Zu wenige Elemente für diese Aktion vorhanden!");
        }
    }

Allerdings bekomme ich in der Funktion ReadFirst ab Zeile 52 überall wo "Vorzeichen" steht die Fehlermeldung:
non-static variable Vorzeichen cannot be referenced from a static context

Wo liegt der Fehler?
 

prof_m

Mitglied
Okay hab den Fehler selber gefunden. Einfach das static bei den Klassenvariablen vergessen.
Jetzt bereitet mir allerdings der Aufruf der readFirst Methode innerhalb der Main Methode Probleme.
Weiß einfach nicht wie die Schleife dazu aussehen muss.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
N BMI Rechner Was haltet ihr von dem Code habt ihr Verbesserungsvorschläge weil design teschnisch ist das nicht das geilste würde das gerne überarbeiten Java Basics - Anfänger-Themen 12
Renjiroo Java Bmi Rechner mit Methoden Java Basics - Anfänger-Themen 4
T BMI Rechner fehlerhaft Java Basics - Anfänger-Themen 18
D Primzahlen Rechner nach Eratostenes von Kyrene Algorithmus Java Basics - Anfänger-Themen 2
Animal-Mother BMI Rechner erstellen für W/M Java Basics - Anfänger-Themen 7
Alan6 Java Editor BMI Rechner Java Basics - Anfänger-Themen 7
Nerdinfekt BMI Rechner, fehler beim Zurückgeben des Strings? Java Basics - Anfänger-Themen 2
M Rechner programmieren Java Basics - Anfänger-Themen 3
Z BMI-Rechner Java Basics - Anfänger-Themen 1
F Trinkgeld Rechner und Promillenrechener Hilfe Java Basics - Anfänger-Themen 3
R java.lang.ArrayIndexOutOfBoundsException: 0 Rechner Error Java Basics - Anfänger-Themen 4
S Erste Schritte Java GUI - Rechner erstellen Java Basics - Anfänger-Themen 4
$ Multiplikations-Rechner mit while Schleife Java Basics - Anfänger-Themen 8
J double_Problem im ZinsesZins Rechner Java Basics - Anfänger-Themen 33
K (Taschen)Rechner Java Basics - Anfänger-Themen 8
M Abitur-Noten-Rechner Java Basics - Anfänger-Themen 2
G Welche Java-Version auf meinem Rechner? Java Basics - Anfänger-Themen 2
B Strategy Pattern - Rechner Java Basics - Anfänger-Themen 6
N Einfacher Rechner (für mich nicht so einfach) Java Basics - Anfänger-Themen 5
thet1983 rechner anfaengerfehler? Java Basics - Anfänger-Themen 10
B BMI Rechner Java Basics - Anfänger-Themen 2
H DriveByZero Exception - BMI-Rechner Java Basics - Anfänger-Themen 12
B Co2 rechner hilfe beim programmieren Java Basics - Anfänger-Themen 10
P Bitte um hilfe bei einfachem Rechner Java Basics - Anfänger-Themen 7
B Std-Serialisierung - Speichern/Laden geht nur auf einem Rechner Java Basics - Anfänger-Themen 17
C Rechner Java Basics - Anfänger-Themen 19
B Verbindung zu einen anderen Rechner Java Basics - Anfänger-Themen 2
N Datenaustausch zweier rechner Java Basics - Anfänger-Themen 4
M BMI-Rechner NumberFormatException Java Basics - Anfänger-Themen 30
Jats Kosinussatz-Rechner Java Basics - Anfänger-Themen 9
Haave Postfix-Rechner: mehrere math. Operationen nacheinander ausführen Java Basics - Anfänger-Themen 8
C Bmi rechner programmieren Java Basics - Anfänger-Themen 72
B JavaWebStart - Anwendung läuft nur auf einem Rechner Java Basics - Anfänger-Themen 6
P Einfacher Rechner Java Basics - Anfänger-Themen 2
F Upn-Rechner Java Basics - Anfänger-Themen 15
B mit Wecker den Rechner aus Standby/Ruhemodus holen Java Basics - Anfänger-Themen 19
R Jar Datei läuft auf neuem Rechner nicht mehr Java Basics - Anfänger-Themen 15
Developer_X Applet auf lokalem Rechner mit der EingabeAufforderung Starten Java Basics - Anfänger-Themen 44
S Was ist falsch an meinem Rechner? Java Basics - Anfänger-Themen 7
M externes Programm auf anderen Rechner ausführen lassen Java Basics - Anfänger-Themen 2
kulturfenster Wie implementiert man einen Rechner in Java? Java Basics - Anfänger-Themen 5
kulturfenster Rechner und ActionListener Java Basics - Anfänger-Themen 11
C DM -> Euro Rechner aber nur mit Operanden des Typs intege Java Basics - Anfänger-Themen 12
G Java Rechner Java Basics - Anfänger-Themen 10
G frage bluej für bmi rechner programmieren Java Basics - Anfänger-Themen 5
T Rechner-Name abfragen Java Basics - Anfänger-Themen 6
C Problem mit dem Rechner Java Basics - Anfänger-Themen 4
G Rechner aus ! Java Basics - Anfänger-Themen 5
M Exel-Rechner in Java ausgeben Java Basics - Anfänger-Themen 13
N Java Rechner Java Basics - Anfänger-Themen 3
D Java Rechner und Einlesen Problem (mit hasNext) Java Basics - Anfänger-Themen 2
W Rechner von quadratzahlen ! fehler Java Basics - Anfänger-Themen 4
P Rechner ^^ Java Basics - Anfänger-Themen 10
K BMI Rechner - wo ist der Fehler? Java Basics - Anfänger-Themen 4
D Rechner programmieren Java Basics - Anfänger-Themen 5
P Mediacenter Userinterface auf langsamem Rechner Java Basics - Anfänger-Themen 5
M Windows Projekt auf Linux Rechner Java Basics - Anfänger-Themen 2
B komische NumberFormatException beim DezimalToBinär-Rechner Java Basics - Anfänger-Themen 4
lan2711 Class Dateien auf anderen Rechner zum Laufen kriegen. Java Basics - Anfänger-Themen 5
P Program funktioniert nur bei Rechner die jdk haben Java Basics - Anfänger-Themen 4
rambozola jar-datei von cd auf rechner ohne jvm starten Java Basics - Anfänger-Themen 2
N SSH-Verbindung zu entferntem Rechner aufbauen Java Basics - Anfänger-Themen 5
L Class-Datei auf anderem Rechner Java Basics - Anfänger-Themen 9
H JDK 1.4.2 UND 1.1.8 auf gleichem Rechner Java Basics - Anfänger-Themen 15
X Programmstart auf anderem Rechner... Java Basics - Anfänger-Themen 15
C Java soll Datei auf rechner Finden Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben