wo liegt hier der fehler?

Status
Nicht offen für weitere Antworten.

lola

Mitglied
Hallo ich habe ein Problem mit meinem Java Programm. Ich kann mir nicht erklären wo genau hier der Fehler liegt.
es wäre nett, wenn sich das mal jemand ansehen könnte. das konkrete problem habe ich im spript vermerkt und markiert.
groß lola

Code:
import IOulm.*;
public class calculator {
  public calculator() {}


  public static String eingabe() {
      String mystring;
      if (Urc.readString());
      mystring = Urc.getString();
      return mystring;
  }


   
   public static void main( String[] args) {


   ADTDeluxeStruct DeluxeStruct = new DeluxeStruct(150);
   int zeichen;
   Object zahlen;
   calculate Add = new Add();

   //Eingelesene Ziele wird an angegebenen Zeichen getrennt
   String[] OperandenundOpereatoren = eingabe().split("[ ,;]");



   
   for (int i=0; i<OperandenundOpereatoren.length; i++) {

     if(OperandenundOpereatoren[i]=="+") {

        Add.calc(DeluxeStruct);
      } else if(OperandenundOpereatoren[i] =="-") {
        //Methode für die Subtraction;
      } else if(OperandenundOpereatoren[i] =="*") {
        //Methode für die Multiplikation;
      } else if(OperandenundOpereatoren[i] =="/") {
        //Methode für die Division;
      } else if(OperandenundOpereatoren[i]=="!") {
        //Methode für die Fakultät;
      } else {

          zahlen = new Integer(OperandenundOpereatoren[i]);
      
    

   /* irgend wo hier muss der fehler liegen, egal, was ich mache, der stack bleibt leer, d.h die zahlen die     draufgeschrieben werden sollten werden nicht draufgeschrieben. wie muss ich diese methode korrekt aufrufen???*/
            
 DeluxeStruct.push(zahlen);
        }

   }
    /* wie muss ich die elemente vom stack naher wieder korrekt aufrufen*/
     zahlen = DeluxeStruct.pop();

    System.out.print(zahlen);


  }
}

Code:
public interface calculate {

    public int calc(ADTDeluxeStruct DeluxeStruct);
}

Code:
public class Add  implements calculate{
   //Konstruktor
   public Add() {
   }
   
   public int calc(ADTDeluxeStruct DeluxeStuct) {
   Object A = DeluxeStuct.pop();
   if(A==null) {
    System.out.println("Nicht genug Elemente auf dem Stack!");
    return 0;
   }


   
   Object B = DeluxeStuct.pop();
   if(B==null) {
    System.out.println("Nicht genug Elemente auf dem Stack!");
    DeluxeStuct.add(A);
    return 0;
  }
  
  int a = ((Integer)A).intValue();
  int b = ((Integer)B).intValue();
  DeluxeStuct.add(new Integer(a+b));
  return (a+b);
  }

   
   

}
Code:
public interface ADTDeluxeStruct {
    public boolean isEmpty();
    public boolean isFull();
    public Object top();
    public boolean push(Object element);
    public Object pop();
    public Object remove();
    public boolean add(Object element);
    public Object shift();                  // neue Methode
    public boolean unshift(Object element); // neue Methode
}
 

Ralf Ueberfuhr

Bekanntes Mitglied
Klasse calculator, Zeilen 32ff:

Ersetze jeweils

OperandenundOpereatoren=="+"

durch

OperandenundOpereatoren.equals("+")

Es gibt einen Unterschied zwischen Referenzen- und Inhaltsgleichheit. Die if-Bedingung wird nie ausgefüllt, da "+" immer neu instanziert wird.
 

lola

Mitglied
ah ok, dankeschön, das wusste ich bisher nicht!!!
aber die zahlen, die eingelesen werden sollen, kommen trotzdem nicht auf den stack (DeluxeStruct ist eigentlich ein stack). was muss ich da ändern ???
hier noch deluxe struct
Code:
/* Beispielloesung zu Aufgabe 3 -- AI 2 -- SS 06

   Implementierung des Interfaces ADTDeluxeStruct

   Bis auf die Implementierung beiden neuen Methoden shift/unshift,
   entspricht die Loesung derjenigen aus Aufgabe 1. 
   
   Fuer Kommentare: siehe entsprechende Beispielloesung.
   
   nh - 04/2006 
*/

import IOulm.*;

public class DeluxeStruct implements ADTDeluxeStruct {
    private static final int maxSize = 100;
    private Object[] deluxe;
    private int size;
    private int head;
    private int tail;
    
    public DeluxeStruct() {
        deluxe = new Object[maxSize];
        size = 0;
        head = 0;
        tail = 0;
    }
    
    public DeluxeStruct( int maxsize ) {
    deluxe = new Object[size];

    head = 0;
    tail = 0;
    size = 0;
  }
    
    public boolean isEmpty() {
        return size == 0;
    }

    public boolean isFull() {
        return size >= deluxe.length;
    }
    
    public Object remove() {
        if (isEmpty())
            return null;
        Object element = deluxe[head];
        head = (head + 1) % deluxe.length;
        size--;
        return element;
    }
    
    public boolean add(Object element) {
        if (isFull())
            return false;
        deluxe[tail] = element;
        tail = (tail + 1) % deluxe.length;
        size++;
        return true;
    }
    
    public Object top() {
        if (isEmpty())
            return null;
        int tmptail;
        if (tail == 0) {
            tmptail = deluxe.length - 1;
        } else {
            tmptail = tail - 1;
        }
        return deluxe[tmptail];
    }
    
    public boolean push(Object element) {
    if(isFull()) return false;
    deluxe[head] = element;
    head = (head+1)%size;
    size++;
    return true;
  }
    
    

    
    public Object pop() {
    Object x;
    if ( isEmpty () ) return null ;
    head= (head - 1);
    if(head<0) head=size-1;
    x = deluxe[head];
    size--;
    return x;
  }

    /* Genau wie die Methode push() weiter oben erfordert die Methode shift()
       keine neuerliche "echte" Implementierung, da das, was sie leisten
       soll, bereits implementierten Methode "remove()" bietet.
       Daher genuegt es hier, die Methode "remove()" aufzurufen und ihren
       Rueckgabewert zu verwenden. */
    public Object shift () {
       return remove();
    }
    
    /* Dieses ist nun eine tatsaechlich neue Methode: sie muss hier
       erstmals implementiert werden. */
    public boolean unshift(Object element) {
        if (isFull())
            return false;
        if (head == 0) {
            head = deluxe.length - 1;
        } else {
            head--;
        }
        deluxe[head] = element;
        size++;
        return true;
    }
}
 
B

bygones

Gast
masseur81 hat gesagt.:
Es gibt einen Unterschied zwischen Referenzen- und Inhaltsgleichheit. Die if-Bedingung wird nie ausgefüllt, da "+" immer neu instanziert wird.
nicht ganz richtig - siehe FAQs zum Stringvergleich - Stichpunkt Stringpool
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
E Wo liegt hier der Fehler? Java Basics - Anfänger-Themen 13
H weiss nicht wo hier der fehler liegt Java Basics - Anfänger-Themen 3
M Liegt hier bereits ein Bad Smell vor? Java Basics - Anfänger-Themen 9
ohneInformatik; Dynamische Zinsen. Wo liegt der Fehler? Java Basics - Anfänger-Themen 4
J Mein Programm läuft bei der ersten Eingabe nicht mehr weiter, woran liegt das? Java Basics - Anfänger-Themen 6
J Anfänger, Fehler; "Der Hund liegt begraben" Java Basics - Anfänger-Themen 3
R Fehlermeldung aber WO liegt der Fehler? Java Basics - Anfänger-Themen 7
M BerechneEtwas Weiss jemand woran es liegt Java Basics - Anfänger-Themen 8
W Wo liegt der Fehler? Java Basics - Anfänger-Themen 8
B Keine Ausgabe .. Woran liegt das? Ich komme nicht weiter Java Basics - Anfänger-Themen 14
A Class not found - Jar liegt am classpath Java Basics - Anfänger-Themen 2
G Input/Output Wo liegt mein Fehler? Java Basics - Anfänger-Themen 4
P wo liegt der Fehler? Java Basics - Anfänger-Themen 2
W Compiler-Fehler Fehler - <identifier> expected, wo liegt mein Fehler? Java Basics - Anfänger-Themen 4
B Compiler-Fehler Wo liegt der Fehler? Java Basics - Anfänger-Themen 3
M Wo liegt der Unterschied? Deklaration Klasse oder Konstruktur Java Basics - Anfänger-Themen 3
J Wo liegt nur an dieser einfachen Bedingung mein Fehler? Java Basics - Anfänger-Themen 8
R Schaffe es nicht Random-Programmierung zu vollenden. Wo liegt der Fehler in diesem Code? Java Basics - Anfänger-Themen 13
J Wo liegt der Fehler? Java Basics - Anfänger-Themen 7
J ResultSet.getStrin - doch kein String? oder wo liegt das Problem? Java Basics - Anfänger-Themen 3
S GaussJordan in Java, wo liegt mein Fehler? Java Basics - Anfänger-Themen 4
A Datum prüfen, ob es vor einem anderen Datum liegt Java Basics - Anfänger-Themen 2
T Wo liegt der Fehler ? -.- Java Basics - Anfänger-Themen 3
P Datentypen Fehler nur wo liegt das Problem? Java Basics - Anfänger-Themen 7
R NullPointerException ,wo liegt der Fehler? Java Basics - Anfänger-Themen 2
K OOP Methoden überladen, wo liegt das Problem? Java Basics - Anfänger-Themen 22
I OOP This-Referenzs > wo liegt mein Denkfehler? Java Basics - Anfänger-Themen 24
D wo liegt der Fehler? (JTable) Java Basics - Anfänger-Themen 11
D Primzahlen ausgeben. Wo liegt der Fehler? Java Basics - Anfänger-Themen 4
M NullPointerException - Fehler beheben, nur, wo liegt er? Java Basics - Anfänger-Themen 13
D Wo liegt der Fehler? Java Basics - Anfänger-Themen 11
F wo liegt der Fehler?? Java Basics - Anfänger-Themen 7
B Class wird nicht gefunde obwohl sie im gleichen Ordner liegt Java Basics - Anfänger-Themen 8
Screen Scanner Arrays wo liegt mein Fehler? Java Basics - Anfänger-Themen 11
Screen Wo liegt der Fehler? Java Basics - Anfänger-Themen 3
G Variable welche in anderer Klasse liegt, verändern. Java Basics - Anfänger-Themen 2
K Wo liegt der Fehler wieder ? Java Basics - Anfänger-Themen 14
I String, Split, match, wo liegt mein Fehler ? Java Basics - Anfänger-Themen 4
K Hallo, woran liegt der Fehler ? Java Basics - Anfänger-Themen 6
M Felder (Wo liegt der Fehler?) Java Basics - Anfänger-Themen 2
P Wo liegt der Fehler? *verzweifel* Java Basics - Anfänger-Themen 10
J Arrays: Wo liegt das Problem? Java Basics - Anfänger-Themen 6
Z Wo liegt der Fehler? Java Basics - Anfänger-Themen 8
S Array bleibt leer, wo liegt mein Fehler? Verzeichnisinhalt s Java Basics - Anfänger-Themen 8
H In welchem Ordner liegt das jar file? Java Basics - Anfänger-Themen 2
M Wo liegt der Quelltext von System.out.println() Java Basics - Anfänger-Themen 3
M JTable updaten woran liegt es bloß? Java Basics - Anfänger-Themen 2
R Wo liegt der Fehler? Java Basics - Anfänger-Themen 10
W Wo liegt denn heir der Fehler? Java Basics - Anfänger-Themen 10
N wo liegt daran der fehler? Java Basics - Anfänger-Themen 6
A wo liegt der fehler im programm? Java Basics - Anfänger-Themen 9
K Warum wird hier nur etwas in eine txt Datei geschrieben und nicht in alle drei (InputStream/OutputStream/Reader/Writer) Java Basics - Anfänger-Themen 1
D Ist Ableiten hier sinnvoll Java Basics - Anfänger-Themen 5
K Warum wird mir hier nach dem ersten Durchlauf zwei mal "welchen Datentyp wollen sie übergeben?" ausgegeben ? Java Basics - Anfänger-Themen 1
B Dekorator Muster - Irgendwas stimmt hier doch nicht? Java Basics - Anfänger-Themen 4
frager2345 Warum muss ich hier im Konstruktor meine Exeption nicht abfangen ? Java Basics - Anfänger-Themen 4
D Warum kann ich hier nicht auf die Methode zugreifen? Java Basics - Anfänger-Themen 5
H BlueJ: was genau ist hier der Fehler? Java Basics - Anfänger-Themen 14
J Hallo zusammen , was macht diese Methode hier genau? Java Basics - Anfänger-Themen 3
U Warum kriege ich hier eine nullpointer exception, sehe den Fehler nicht (swing) Java Basics - Anfänger-Themen 1
M Was wird hier genau getestet? Java Basics - Anfänger-Themen 9
M Was habe ich hier falsch, dass wenn ich z.B.: 11 eingebe mir false zurück gegeben wird? Java Basics - Anfänger-Themen 2
M Kann mir jemand hier die Logik vermitteln? Java Basics - Anfänger-Themen 3
M Wie kann ich hier den Abstand ausgeben? Java Basics - Anfänger-Themen 3
S Wie kann ich bei diesem Code erreichen, das als Ergebnis hier 15 herauskommt? Java Basics - Anfänger-Themen 23
P Weswegen entstehen hier Syntaxfehler? Java Basics - Anfänger-Themen 3
J Wie kann ich hier eine While schleife einbauen? Java Basics - Anfänger-Themen 3
A Wieso bekomme ich hier zwei unterschiedliche Ausgaben? Java Basics - Anfänger-Themen 6
S Was für Aufgaben könnten sich hier hinter verbergen? Java Basics - Anfänger-Themen 5
R Warum werden hier nur die grün und orangen Linien ausgegeben und der Rest unten nicht? Java Basics - Anfänger-Themen 5
R Wie würde hier die if-Anweisung aussehen? Java Basics - Anfänger-Themen 18
S Operatoren i=i++; Was passiert hier? Java Basics - Anfänger-Themen 21
G Warum ist hier ein Lamda-Ausdruck möglich Java Basics - Anfänger-Themen 2
O Was bedeutet das hier 999_983? Java Basics - Anfänger-Themen 2
F Warum ist die Ausgabe hier 1? Java Basics - Anfänger-Themen 4
P Vererbung Warum funktioniert die Vererbung hier nicht Java Basics - Anfänger-Themen 14
M Wie kann ich hier ein Textfeld hinzufügen Java Swing? Java Basics - Anfänger-Themen 1
L Collections Ist eine Arraylist hier das richtige? Java Basics - Anfänger-Themen 12
S Unklarer Code (was passiert hier?) Java Basics - Anfänger-Themen 1
R Kann mir hier jemand weiterhelfen? Java Basics - Anfänger-Themen 1
B Wieso wird hier so viel als falsch angezeigt? Java Basics - Anfänger-Themen 2
B Wieso gibt er hier nur die ungeraden Zahlen aus? Java Basics - Anfänger-Themen 5
B Kann mir jemand erklären, warum hier dreimal was ausgegeben wird und nicht nur zweimal? Java Basics - Anfänger-Themen 16
P Compiler-Fehler Wo befindet sich hier der Fehler und warum? Java Basics - Anfänger-Themen 21
K Public Attribute oder getter - funktioniert leider beides hier nicht Java Basics - Anfänger-Themen 5
F Operatoren Wieso fliegt hier eine NullPointer Exception :( Java Basics - Anfänger-Themen 3
K Was wird hier nacheinander gemacht? Java Basics - Anfänger-Themen 1
L [ARRAY] Werden hier die Indezes oder die Werte vergliechen? Java Basics - Anfänger-Themen 4
K Was macht hier genau return? Java Basics - Anfänger-Themen 2
V in diesem Forum wurde mir am meisten geholfen, daher eine Frage die hier nicht passt. sry (VB Frage) Java Basics - Anfänger-Themen 3
T boolean, was passiert hier? Java Basics - Anfänger-Themen 4
O euer chat hier Java Basics - Anfänger-Themen 1
R kann mir jemand erklären was hier gemacht wurde? Java Basics - Anfänger-Themen 10
K Wie übergebe ich hier korrekt die Werte Java Basics - Anfänger-Themen 5
B Warum gibst hier Equals false zurück ? Java Basics - Anfänger-Themen 23
V Warum wird hier 200 ausgeliefert? Java Basics - Anfänger-Themen 39
S Klassen Klasse oder nicht Klasse - das ist hier die Frage Java Basics - Anfänger-Themen 6
W Methoden Wie wird eine Methode hier aufgerufen? Java Basics - Anfänger-Themen 5
S wieso Fehlermeldung cannot find symbol hier Java Basics - Anfänger-Themen 10
K Was ist hier Falsch? Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben