Threads Taschenrecher rechnet nicht!!!

Tsuna

Mitglied
Hey ich habe ein Problem mit meinem Taschenrechner!
Ich habe eine methode rechnen hinzugefügt und auch mit der Gleich taste verknüpft jedoch funktioniert es nicht! Hier mal der Quelltext, allerdings ohne UI:
Editor: eclipse SDK
Java:
import java.awt.event.*;
import java.util.*;
import java.lang.NumberFormatException;
public class TaschenrechnerModell
{
   
    private Stack operatorenStapel;
    private Stack operandenStapel;
    
    private TaschenrechnerUI taschenrechner;
    private int wertAnzeige;
    
    /**
     * Constructor for objects of class TaschenrechnerModell
     */
    public TaschenrechnerModell()
    {
       // Initialisierung zweier Stapel für die Operatoren und die Operanden.
        operatorenStapel = new Stack();
        operandenStapel = new Stack();
        
        //Setzt die wert Anzeige auf Null.
        wertAnzeige = 0;
        
        //Initialisierung der TaschenrechnerUI.
        taschenrechner = new TaschenrechnerUI();
       
        //Initialisierung der einzelnen Tasten.
        taschenrechner.eins.addActionListener (new ButtonKontrolleEins());
        taschenrechner.zwei.addActionListener (new ButtonKontrolleEins());
        taschenrechner.drei.addActionListener (new ButtonKontrolleEins());
        taschenrechner.vier.addActionListener (new ButtonKontrolleEins());
        taschenrechner.fuenf.addActionListener (new ButtonKontrolleEins());
        taschenrechner.sechs.addActionListener (new ButtonKontrolleEins());
        taschenrechner.sieben.addActionListener (new ButtonKontrolleEins());
        taschenrechner.acht.addActionListener (new ButtonKontrolleEins());
        taschenrechner.neun.addActionListener (new ButtonKontrolleEins());
        taschenrechner.nulltaste.addActionListener (new ButtonKontrolleEins());
        
        taschenrechner.mC.addActionListener (new ButtonKontrolleEins());
        taschenrechner.mPlus.addActionListener (new ButtonKontrolleEins());
        taschenrechner.mMinus.addActionListener (new ButtonKontrolleEins());
        taschenrechner.mR.addActionListener (new ButtonKontrolleEins());
        taschenrechner.c.addActionListener (new ButtonKontrolleEins());
        taschenrechner.plusMinus.addActionListener (new ButtonKontrolleEins());
        taschenrechner.durch.addActionListener (new ButtonKontrolleEins());
        taschenrechner.x.addActionListener (new ButtonKontrolleEins());
        taschenrechner.minus.addActionListener (new ButtonKontrolleEins());
        taschenrechner.plus.addActionListener (new ButtonKontrolleEins());
        taschenrechner.komma.addActionListener (new ButtonKontrolleEins());
        taschenrechner.gleich.addActionListener (new ButtonKontrolleEins());

    }

       // Die innere Klasse ButtonKontrolleEins fügt den einzelnen Tasten ihre Funktion zu.
         class ButtonKontrolleEins implements ActionListener{
    
        	 
        	//Methode um die Funktionen hinzuzufügen.
        	 public void actionPerformed (ActionEvent ae){
                    String alleButton= ae.getActionCommand();
               
                    try{ 
                    	
                    	//Überprüft ob die Anzeige auf Null steht und setzt sie dann auf die entsprechende Zahl.
                         Integer.parseInt(alleButton);
                        if (taschenrechner.anzeige.getText().equals("0")){
                        taschenrechner.anzeige.setText("");
                        taschenrechner.anzeige.setText(taschenrechner.anzeige.getText()+alleButton);
                        
                        }
                       
                        //Wenn ein Operant angeklickt wird, wird die Anzeige erst auf leer gesetzt und dann wird der Operant angezeigt.
                        else if (taschenrechner.anzeige.getText().equals("/") || taschenrechner.anzeige.getText().equals("x") || taschenrechner.anzeige.getText().equals("+") || taschenrechner.anzeige.getText().equals("-")) {
                        	taschenrechner.anzeige.setText("");
                        	taschenrechner.anzeige.setText(alleButton);
                        }
                       
                        //Wenn eine normale Zahl gedrückt wird, wird diese auf der Anzeige angezeigt.
                        else {
                        	taschenrechner.anzeige.setText(taschenrechner.anzeige.getText()+alleButton);
   
                        }
                }
                    //Fügt den Operatoren und sonstigen Buttons ihre Funktion hinzu.
                    catch(NumberFormatException e){
                     
                    	
                    	if (alleButton.equals("C")){
                    		taschenrechner.anzeige.setText("0");
                         	}
                    
                    	if (alleButton.equals(",")){
                    		taschenrechner.anzeige.setText(",");
                    	}
                    		
                    	
                    	else if (alleButton.equals("/") ){
                    		operandenStapel.push(taschenrechner.anzeige.getText());
                    		taschenrechner.anzeige.setText("/");
                    		operatorenStapel.push(taschenrechner.anzeige.getText());
                    		prüfe(alleButton);
                    		}
                    
                    	
                    	else if (alleButton.equals("x") ){
                    		operandenStapel.push(taschenrechner.anzeige.getText());
                    		taschenrechner.anzeige.setText("x");
                    		operatorenStapel.push(taschenrechner.anzeige.getText());
                    		prüfe(alleButton);
                    		}  
                    
                    	
                    	else if (alleButton.equals("+") ){
                    		operandenStapel.push(taschenrechner.anzeige.getText());
                    		taschenrechner.anzeige.setText("+");
                    		operatorenStapel.push(taschenrechner.anzeige.getText());
                    		prüfe(alleButton);
                    		}
                      
                    	else if (alleButton.equals("-") ){
                    		operandenStapel.push(taschenrechner.anzeige.getText());
                    		taschenrechner.anzeige.setText("-");
                         	operatorenStapel.push(taschenrechner.anzeige.getText());
                         	prüfe(alleButton);
                    		}  
                    
                	
                	
                    	else if(alleButton.equals("=")){
                    		operandenStapel.push(taschenrechner.anzeige.getText());
                    		rechnen();  }
                    		}
   
        	 
        	 
         }	 
         }
          private void prüfe(String operator){
        	  String operator1 = operator;
        	  String operator2 = (String)operatorenStapel.peek(); 
    	
        	  if(operatorenStapel.isEmpty()) operatorenStapel.push(operator1);
    	
        	  else if(operator1.equals("/") || operator1.equals("x") && operator2.equals("+") || operator2.equals("-")){
        		  operatorenStapel.push(operator1);
        	  		}	
    	
        	  else if(operator1.equals(operator2)){
        		  rechnen();
        		  prüfe(operator1);
        	  		}
    	
        	  else if(operator2.equals("/") || operator2.equals("x") && operator1.equals("+") || operator1.equals("-")){
        		  rechnen();
        		  prüfe(operator1);
        	  		}
        	  
          	}
    
   
          
         private void rechnen(){
        	 int operand1;
        	 int operand2;
        	 String operator;
    		
        	 	while(!operandenStapel.isEmpty()){
        	 		operand2= (Integer) operandenStapel.peek();
        	 		operandenStapel.pop();
        	 		operand1= (Integer) operandenStapel.peek();
        	 		operandenStapel.pop();
        	 		operator= (String) operatorenStapel.peek();
        	 		operatorenStapel.pop();
    		
        	 		if(operator.equals("+")){
        	 			operandenStapel.push(operand1+operand2);
        	 			}
    		
        	 		else if(operator.equals("-")){
        	 			operandenStapel.push(operand1-operand2);
        	 			}
    		
        	 		else if(operator.equals("/")){
        	 			operandenStapel.push(operand1/operand2);
        	 			}
        	 		
        	 		else if(operator.equals("x")){
        	 			operandenStapel.push(operand1*operand2);
        	 			}
    	
        	 			rechnen();
        	 		}
        	 	taschenrechner.anzeige.setText((String) operandenStapel.peek());
    	
         }
         

     
         
         // Main-Methode (wird zuerst ausgeführt)
         public static void main(String[] args) {
           new TaschenrechnerModell();
         }
         }


Ich hoffe ihr könnt mir helfen :)
 

Evil-Devil

Top Contributor
Hilfe ist das kompliziert...

Hast du dir in deiner Rechnen Methode den Stack mal ausgeben lassen um zu schauen ob dort wirklich was drin ist und wieso rufst du nach dem Durchlauf des Stacks rechnen erneut auf? Das sieht nach ner tödlichen Endlosschleife aus.
 

Tsuna

Mitglied
Also wenn man auf Gleich tippt soll er die Methode rechnen ausführen... und ja das stimmt das rechnen () da raus muss aus der Schleife is mir auch grad aufgefallen :D
 

Tsuna

Mitglied
Das war auch der Taschenrechner einer Freundin. Ich habe jedoch ein ähnliches Problem.

Beispiel1: zahl1+zahl2+zahl3 ...= ergebnis funktioniert,
Beispiel2: aber zahl1+zahl2*zahl3= 0.0 funktioniert nicht
Beispiel3: zahl1*zahl2+zahl3= ergebnis funktioniert ...

woran könnte das liegen? Er muss ja irgendwie den operator "+" aus dem operatorenstapel gelöscht haben ... das kann aber eigentlich nicht sein ... ??? :L

Ich benutze die für das zentralabitur notwendige Klasse Stack die man auf Zentralabitur NRW - Zentralabitur NRW herunterladen kann.

editor: BlueJ

Java:
import java.awt.event.*;
import java.lang.*;
public class TaschenrechnerModel
{
    private TaschenrechnerUI taschenrechner;
    private Stack operanden;
    private Stack operatoren;
    private int index;
    
    public TaschenrechnerModel(){
        taschenrechner= new TaschenrechnerUI();
        taschenrechner.buttonMC.addActionListener(new ButtonKontrolle());
        taschenrechner.buttonMPlus.addActionListener(new ButtonKontrolle());
        taschenrechner.buttonMMinus.addActionListener(new ButtonKontrolle());
        taschenrechner.buttonMR.addActionListener(new ButtonKontrolle());
        taschenrechner.buttonC.addActionListener(new ButtonKontrolle());
        taschenrechner.buttonPlusMinus.addActionListener(new ButtonKontrolle());
        taschenrechner.buttonGeteilt.addActionListener(new ButtonKontrolle());
        taschenrechner.buttonMal.addActionListener(new ButtonKontrolle());
        taschenrechner.buttonSieben.addActionListener(new ButtonKontrolle());
        taschenrechner.buttonAcht.addActionListener(new ButtonKontrolle());
        taschenrechner.buttonNeun.addActionListener(new ButtonKontrolle());
        taschenrechner.buttonMinus.addActionListener(new ButtonKontrolle());
        taschenrechner.buttonVier.addActionListener(new ButtonKontrolle());
        taschenrechner.buttonFuenf.addActionListener(new ButtonKontrolle());
        taschenrechner.buttonSechs.addActionListener(new ButtonKontrolle());
        taschenrechner.buttonPlus.addActionListener(new ButtonKontrolle());
        taschenrechner.buttonEins.addActionListener(new ButtonKontrolle());
        taschenrechner.buttonZwei.addActionListener(new ButtonKontrolle());
        taschenrechner.buttonDrei.addActionListener(new ButtonKontrolle());
        taschenrechner.buttonNull.addActionListener(new ButtonKontrolle());
        taschenrechner.buttonKomma.addActionListener(new ButtonKontrolle());
        taschenrechner.buttonGleich.addActionListener(new ButtonKontrolle());
        operanden= new Stack();
        operatoren= new Stack();
        index=0;
    }
    
    class ButtonKontrolle implements ActionListener{
        
        public void actionPerformed (ActionEvent ae){
             Object obj= ae.getSource();
            
             
             if(obj== taschenrechner.buttonNull){
                
                 if(taschenrechner.anzeige.getText()=="0"||taschenrechner.anzeige.getText()=="÷"||taschenrechner.anzeige.getText()=="X"||taschenrechner.anzeige.getText()=="+"||taschenrechner.anzeige.getText()=="-"){
                    taschenrechner.anzeige.setText("0");
                                                                                
                }
                else{
                 taschenrechner.anzeige.setText(taschenrechner.anzeige.getText()+"0");
                 
              }
                }
             if(obj== taschenrechner.buttonEins){
                
                  if(taschenrechner.anzeige.getText()=="0"||taschenrechner.anzeige.getText()=="÷"||taschenrechner.anzeige.getText()=="X"||taschenrechner.anzeige.getText()=="+"||taschenrechner.anzeige.getText()=="-"){
                    taschenrechner.anzeige.setText("1");
                }
                else{
                 taschenrechner.anzeige.setText(taschenrechner.anzeige.getText()+"1");
                }
                }
             if(obj== taschenrechner.buttonZwei){
                 
                 if(taschenrechner.anzeige.getText()=="0"||taschenrechner.anzeige.getText()=="÷"||taschenrechner.anzeige.getText()=="X"||taschenrechner.anzeige.getText()=="+"||taschenrechner.anzeige.getText()=="-"){
                    taschenrechner.anzeige.setText("2");
                }
                else{
                 taschenrechner.anzeige.setText(taschenrechner.anzeige.getText()+"2");
                }
             }
             if(obj== taschenrechner.buttonDrei){
                 
                 if(taschenrechner.anzeige.getText()=="0"||taschenrechner.anzeige.getText()=="÷"||taschenrechner.anzeige.getText()=="X"||taschenrechner.anzeige.getText()=="+"||taschenrechner.anzeige.getText()=="-"){
                    taschenrechner.anzeige.setText("3");
                }
                else{
                 taschenrechner.anzeige.setText(taschenrechner.anzeige.getText()+"3");
                }
             }
             if(obj== taschenrechner.buttonVier){
                 
                 if(taschenrechner.anzeige.getText()=="0"||taschenrechner.anzeige.getText()=="÷"||taschenrechner.anzeige.getText()=="X"||taschenrechner.anzeige.getText()=="+"||taschenrechner.anzeige.getText()=="-"){
                    taschenrechner.anzeige.setText("4");
                }
                else{
                 taschenrechner.anzeige.setText(taschenrechner.anzeige.getText()+"4");
                }
             }
             if(obj== taschenrechner.buttonFuenf){
                 
                 if(taschenrechner.anzeige.getText()=="0"||taschenrechner.anzeige.getText()=="÷"||taschenrechner.anzeige.getText()=="X"||taschenrechner.anzeige.getText()=="+"||taschenrechner.anzeige.getText()=="-"){
                    taschenrechner.anzeige.setText("5");
                }
                else{
                 taschenrechner.anzeige.setText(taschenrechner.anzeige.getText()+"5");
                }
             }
             if(obj== taschenrechner.buttonSechs){
                
                 if(taschenrechner.anzeige.getText()=="0"||taschenrechner.anzeige.getText()=="÷"||taschenrechner.anzeige.getText()=="X"||taschenrechner.anzeige.getText()=="+"||taschenrechner.anzeige.getText()=="-"){
                    taschenrechner.anzeige.setText("6");
                }
                else{
                 taschenrechner.anzeige.setText(taschenrechner.anzeige.getText()+"6");
                }
             }
             if(obj== taschenrechner.buttonSieben){
                 
                 if(taschenrechner.anzeige.getText()=="0"||taschenrechner.anzeige.getText()=="÷"||taschenrechner.anzeige.getText()=="X"||taschenrechner.anzeige.getText()=="+"||taschenrechner.anzeige.getText()=="-"){
                    taschenrechner.anzeige.setText("7");
                }
                else{
                 taschenrechner.anzeige.setText(taschenrechner.anzeige.getText()+"7");
                }
             }
             if(obj== taschenrechner.buttonAcht){
            
                 if(taschenrechner.anzeige.getText()=="0"||taschenrechner.anzeige.getText()=="÷"||taschenrechner.anzeige.getText()=="X"||taschenrechner.anzeige.getText()=="+"||taschenrechner.anzeige.getText()=="-"){
                    taschenrechner.anzeige.setText("8");
                }
                else{
                 taschenrechner.anzeige.setText(taschenrechner.anzeige.getText()+"8");
                }
             }
             if(obj== taschenrechner.buttonNeun){
               
                 if(taschenrechner.anzeige.getText()=="0"||taschenrechner.anzeige.getText()=="÷"||taschenrechner.anzeige.getText()=="X"||taschenrechner.anzeige.getText()=="+"||taschenrechner.anzeige.getText()=="-"){
                    taschenrechner.anzeige.setText("9");
                }
                else{
                 taschenrechner.anzeige.setText(taschenrechner.anzeige.getText()+"9");
                }
             }
             if(obj== taschenrechner.buttonC){
                 taschenrechner.anzeige.setText("0");
                 while(operanden.isEmpty()!=true){
                     operanden.pop();
                    }
                 while(operatoren.isEmpty()!=true){
                        operatoren.pop();
                 }
                 
                }
            
             if(obj== taschenrechner.buttonGeteilt){
                 operanden.push(taschenrechner.anzeige.getText());
                 taschenrechner.anzeige.setText("÷");
                 pruefen();  
                 //operatoren.push(taschenrechner.anzeige.getText());
                 index++;
                }
             if(obj== taschenrechner.buttonMal){
                 operanden.push(taschenrechner.anzeige.getText());
                 taschenrechner.anzeige.setText("X");
                 pruefen();
                 //operatoren.push(taschenrechner.anzeige.getText());
                 index++;
                }
             if(obj== taschenrechner.buttonPlus){
                 operanden.push(taschenrechner.anzeige.getText());
                 taschenrechner.anzeige.setText("+");
                 pruefen();
                 //operatoren.push(taschenrechner.anzeige.getText());
                 index++;
             }
             if(obj== taschenrechner.buttonMinus){
                 operanden.push(taschenrechner.anzeige.getText());
                 taschenrechner.anzeige.setText("-");
                 pruefen();
                 //operatoren.push(taschenrechner.anzeige.getText());
                 index++;
                }
             
             if(obj== taschenrechner.buttonKomma){
                  if(taschenrechner.anzeige.getText()=="0"||taschenrechner.anzeige.getText()=="÷"||taschenrechner.anzeige.getText()=="X"||taschenrechner.anzeige.getText()=="+"||taschenrechner.anzeige.getText()=="-"){
                    taschenrechner.anzeige.setText("0.");
                }
                else{
                 taschenrechner.anzeige.setText(taschenrechner.anzeige.getText()+".");
                }
               }
             if(obj== taschenrechner.buttonGleich){
                operanden.push(taschenrechner.anzeige.getText());
                 while(index!=0){
                     rechnen();
                }
                String ergebnisString= operanden.top().toString();
                taschenrechner.anzeige.setText(ergebnisString);
                operanden.pop();
             }
            
        }
        
        public void pruefen(){
            String anzeige= taschenrechner.anzeige.getText();
            
            int anzeigewert=0;
            if(anzeige=="÷"||anzeige=="X"){
                anzeigewert=1;
            }
        
            Object stapel= operatoren.top();
            int stapelwert=1;
            if(stapel=="+"||stapel=="-"){
                stapelwert=0;
            }
       
            if(operatoren.isEmpty()==true||anzeigewert>stapelwert){
                operatoren.push(taschenrechner.anzeige.getText());
            }
            else{
                rechnen();
               
                
            }
                    
        }
        
        public void rechnen(){
            float ergebnis=0;
            
            String zahl1String= operanden.top().toString();
            float zahl1= Float.parseFloat(zahl1String);
            operanden.pop();
            
            String zahl2String=operanden.top().toString();
            float zahl2= Float.parseFloat(zahl2String);
            operanden.pop();
            
            if(operatoren.top()=="÷"){
                ergebnis=zahl2/zahl1;
                operatoren.pop();
            }
            if(operatoren.top()=="X"){
                ergebnis=zahl2*zahl1;
                operatoren.pop();
            }
            if(operatoren.top()=="+"){
                ergebnis=zahl2+zahl1;
                operatoren.pop();
            }
            if(operatoren.top()=="-"){
                ergebnis=zahl2-zahl1;
                operatoren.pop();
            }
            operanden.push(ergebnis);
            index--;
            

            operatoren.push(taschenrechner.anzeige.getText());
        }
        
       
   }
}

Ich freue mich auf zahlreiche Antworten :toll:
 

xehpuk

Top Contributor
Primitive Datentypen (byte, short, int, long, char, float, double, boolean) überprüft man auf Gleichheit immer mit
Code:
==
.
Alle restlichen Datentypen, also Objekte (darunter fällt also auch String), überprüft man auf Gleichheit immer mit
Code:
equals()
, auf Identität immer mit
Code:
==
.
Zwei Strings mit gleichem Inhalt sind also gleich, aber nicht zwingend identisch.
 

Tsuna

Mitglied
Nachdem wir im Unterricht die graphische Oberfläche eines Taschenrechner programmiert haben, müssen wir ihm jetzt Funktionen hinzufügen ...

Die Regeln für den Taschenrechner sind folgendermaßen:

I. Wenn eine Zahl(ein Operand) gelesen wird wird er auf dem Operandenstapel gelegt:
Meine Lösung z. B. für die Zahl 6:
Java:
public void actionPerformed (ActionEvent ae){
Object obj= ae.getSource();

 if(obj== taschenrechner.buttonSechs){
                
                 if(taschenrechner.anzeige.getText()=="0"||taschenrechner.anzeige.getText()=="÷"||taschenrechner.anzeige.getText()=="X"||taschenrechner.anzeige.getText()=="+"||taschenrechner.anzeige.getText()=="-"){
                    taschenrechner.anzeige.setText("6");
                }
                else{
                 taschenrechner.anzeige.setText(taschenrechner.anzeige.getText()+"6");
                }
             }
}
if(obj== taschenrechner.buttonPlus){
                 [B]operanden.push(taschenrechner.anzeige.getText());[/B]
                 taschenrechner.anzeige.setText("+");
                 pruefen();
                 //operatoren.push(taschenrechner.anzeige.getText());
                 index++;
             }

II. Wenn ein Zeichen (ein Operator) gelesen wird, so wird überprüft, welcher Operator oben auf dem Operatorenstapel liegt.

2.1 Ist der Operatorenstapel leer, wird der Operator auf den Operatorenstapel gelegt.
2.2 Ist der gerade gelesene Operator höhenwertiger als der Operator oben auf demm Operatorenstapel, so wird der Operator auf den Operatorenstapel gelegt.
2.3 Ist der gerade gelesene Operator gleichwertig zum Operator auf dem Operatorenstapel, so wird gerechnet. Anschließend wird wieder geprüft.
2.4 Ist der gelesene Operator geringwertig zum Operator auf dem Operatorenstapel, so wird gerechnet. Anschließend wird wieder geprüft.


Meine Lösung:
Java:
public void pruefen(){
            String anzeige= taschenrechner.anzeige.getText();
            
            int anzeigewert=0;
            if(anzeige=="÷"||anzeige=="X"){
                anzeigewert=1;
            }
        
            Object stapel= operatoren.top();
            int stapelwert=1;
            if(stapel=="+"||stapel=="-"){
                stapelwert=0;
            }
       
            if(operatoren.isEmpty()==true||anzeigewert>stapelwert){
                operatoren.push(taschenrechner.anzeige.getText());
            }
            else{
                rechnen();
               
                
            }
                    
        }

Rechnung: Dazu werden zwei Operanden vom Operandenstapel geholt, außerdem wird ein Operator vom Operatorenstapel geholt. Jetzt wird die Rechnung zuletzt geholter Operand Operator zuerst geholter Operand ausgeführt. Das Ergebnis wird auf den Operandenstapel gelegt.

Java:
 public void rechnen(){
            float ergebnis=0;
            
            String zahl1String= operanden.top().toString();
            float zahl1= Float.parseFloat(zahl1String);
            operanden.pop();
            
            String zahl2String=operanden.top().toString();
            float zahl2= Float.parseFloat(zahl2String);
            operanden.pop();
            
            if(operatoren.top().equals("÷")){
                ergebnis=zahl2/zahl1;
                operatoren.pop();
            }
            else if(operatoren.top().equals("X")){
                ergebnis=zahl2*zahl1;
                operatoren.pop();
            }
            else if(operatoren.top().equals("+")){
                ergebnis=zahl2+zahl1;
                operatoren.pop();
            }
            else if(operatoren.top().equals("-")){
                ergebnis=zahl2-zahl1;
                operatoren.pop();
            }
            operanden.push(ergebnis);
            index--;
            

            operatoren.push(taschenrechner.anzeige.getText());
        }

auch nachdem ich "==" durch ".equals()" ersetzt habe funktioniert es leider immer noch nicht. Woran es auch immer liegt :bahnhof:. Trotzdem danke für die vorherigen Antworten und ich hoffe, dass wir gemeinsam das Problem lösen können :toll:
 
Zuletzt bearbeitet:

Tsuna

Mitglied
Wenn ich das mache gibt er eine fehlermeldung aus. Ich glaube, dass da nur irgendwo ein denkfehler drin ist ... unser ganzer Kurs ist an dem Projekt verzweifelt, bisher hat es nur eine person hinbekommen. Um ehrlich zu sein haben wir auch nicht genug gelernt um einen taschenrechner zu programmieren ... das meiste habe ich mir zusammen mit den anderen selbst beigebracht
 

Tsuna

Mitglied
Okay, dann noch mal auf die java-forum weise ;)

Sobald ich das == in der Methode pruefen() mit .equals ersetze, also so:
Java:
public void pruefen(){
            String anzeige= taschenrechner.anzeige.getText();
            
            int anzeigewert=0;
            if(anzeige.equals("÷")||anzeige.equals("X")){
                anzeigewert=1;
            }
        
            Object stapel= operatoren.top();
            int stapelwert=1;
            if(stapel.equals("+")||stapel.equals("-")){
                stapelwert=0;
            }
       
            if(operatoren.isEmpty()==true||anzeigewert>stapelwert){
                operatoren.push(taschenrechner.anzeige.getText());
            }
            else{
                rechnen();
               
                
            }
                    
        }

Dann gibt er folgende Fehlermeldung aus, sobald ich die Methode ausführe:


Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at TaschenrechnerModel$ButtonKontrolle.pruefen(TaschenrechnerModel.java:220)
at TaschenrechnerModel$ButtonKontrolle.actionPerformed(TaschenrechnerModel.java:177)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:272)
at java.awt.Component.processMouseEvent(Component.java:6288)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:6053)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4651)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4481)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
at java.awt.Container.dispatchEventImpl(Container.java:2085)
at java.awt.Window.dispatchEventImpl(Window.java:2478)
at java.awt.Component.dispatchEvent(Component.java:4481)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:643)
at java.awt.EventQueue.access$000(EventQueue.java:84)
at java.awt.EventQueue$1.run(EventQueue.java:602)
at java.awt.EventQueue$1.run(EventQueue.java:600)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
at java.awt.EventQueue$2.run(EventQueue.java:616)
at java.awt.EventQueue$2.run(EventQueue.java:614)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:613)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

^^keine Ahnung was das bedeutet ... :eek:

Hoffe, dass ihr jetzt etwas damit anfangen könnt ...
 

Dekker

Bekanntes Mitglied
Tjo, das heißt das eine deiner Variablen nicht initialisiert sind (in deinem Fall ein Objekt) und du versuchst darauf zuzugreifen. Da keiner von uns wissen kann, welche Zeile in deinem Code die Zeile 220 ist, würde ich folgende Variablen checken:

-anzeige
-operator

Was für ein Objekt gibt eigentlich operator.top() zurück? Sind das Strings oder Chars? Dann würde ich nämlich nicht Object als Typ angeben. Auch der Name stapel kommt mir komisch vor. Ich würde denken du bekommst das oberste Elements deines Operandenstapels zurück, und nicht einen eigenen Stapel.
 

Tsuna

Mitglied
die stapel operandenstapel und operatorenstapel enthalten Objekte vom Typ String ...

die lokale Variable stapel repräsentiert den obersten Wert des operatorenstapels und anzeige den zuletzt eingegebenen operator ...

Habe ich also folgende rechnung:
3+4*7

ist
stapel="+"
und
anzeige="X"

Das problem liegt in der methode rechnen:

bei diesem beispiel würde er die plus-rechnung nicht durchführen, weil er das plus bei der if-Abfrage nicht erkennt, ganz so, als würde sich auf dem operatorenstapel nichts mehr befinden...
 
Zuletzt bearbeitet:

Tsuna

Mitglied
Also habe das problem selber gelöst. Er hat das + nicht auf den operatorenstapel gelegt ... also hier noch einmal die jetzt funktionierende klasse:

Java:
import java.awt.event.*;
import java.lang.*;
public class TaschenrechnerModel
{
    private TaschenrechnerUI taschenrechner;
    private Stack operanden;
    private Stack operatoren;
    private int index;
    private float ergebnis=0;

    public TaschenrechnerModel(){
        //Erzeugt die Grafikoberfläche eines Taschenrechners
        taschenrechner= new TaschenrechnerUI();
        //fügt den Buttons eine ButtonKontrolle hinzu
        taschenrechner.buttonMC.addActionListener(new ButtonKontrolle());
        taschenrechner.buttonMPlus.addActionListener(new ButtonKontrolle());
        taschenrechner.buttonMMinus.addActionListener(new ButtonKontrolle());
        taschenrechner.buttonMR.addActionListener(new ButtonKontrolle());
        taschenrechner.buttonC.addActionListener(new ButtonKontrolle());
        taschenrechner.buttonPlusMinus.addActionListener(new ButtonKontrolle());
        taschenrechner.buttonGeteilt.addActionListener(new ButtonKontrolle());
        taschenrechner.buttonMal.addActionListener(new ButtonKontrolle());
        taschenrechner.buttonSieben.addActionListener(new ButtonKontrolle());
        taschenrechner.buttonAcht.addActionListener(new ButtonKontrolle());
        taschenrechner.buttonNeun.addActionListener(new ButtonKontrolle());
        taschenrechner.buttonMinus.addActionListener(new ButtonKontrolle());
        taschenrechner.buttonVier.addActionListener(new ButtonKontrolle());
        taschenrechner.buttonFuenf.addActionListener(new ButtonKontrolle());
        taschenrechner.buttonSechs.addActionListener(new ButtonKontrolle());
        taschenrechner.buttonPlus.addActionListener(new ButtonKontrolle());
        taschenrechner.buttonEins.addActionListener(new ButtonKontrolle());
        taschenrechner.buttonZwei.addActionListener(new ButtonKontrolle());
        taschenrechner.buttonDrei.addActionListener(new ButtonKontrolle());
        taschenrechner.buttonNull.addActionListener(new ButtonKontrolle());
        taschenrechner.buttonKomma.addActionListener(new ButtonKontrolle());
        taschenrechner.buttonGleich.addActionListener(new ButtonKontrolle());
        //Erzeugt zwei Stacks, um die Zahlenwerte und Operatoren zu speichern.
        operanden= new Stack();
        operatoren= new Stack();
        //Erzeugt einen index, der die operatoren zählt
        index=0;
    }

    class ButtonKontrolle implements ActionListener{
        //Tritt in Aktion, sobald ein Button gedrückt wird
        public void actionPerformed (ActionEvent ae){
            //Ermittelt das Objekt, dass gedrückt wurde
            Object obj= ae.getSource();

            //Ermittelt welches Objekt gedrückt wurde und lässt dessen Wert auf der anzeigeZahlen erscheinen
            if(obj== taschenrechner.buttonNull){

                if(taschenrechner.anzeigeZahlen.getText()=="0"||taschenrechner.anzeigeOperatoren.getText()=="÷"||taschenrechner.anzeigeOperatoren.getText()=="X"||taschenrechner.anzeigeOperatoren.getText()=="+"||taschenrechner.anzeigeOperatoren.getText()=="-"){
                    taschenrechner.anzeigeZahlen.setText("0");

                }
                else{
                    taschenrechner.anzeigeZahlen.setText(taschenrechner.anzeigeZahlen.getText()+"0");

                }
            }
            if(obj== taschenrechner.buttonEins){

                if(taschenrechner.anzeigeZahlen.getText()=="0"||taschenrechner.anzeigeOperatoren.getText()=="÷"||taschenrechner.anzeigeOperatoren.getText()=="X"||taschenrechner.anzeigeOperatoren.getText()=="+"||taschenrechner.anzeigeOperatoren.getText()=="-"){
                    taschenrechner.anzeigeZahlen.setText("1");
                }
                else{
                    taschenrechner.anzeigeZahlen.setText(taschenrechner.anzeigeZahlen.getText()+"1");
                }
            }
            if(obj== taschenrechner.buttonZwei){

                if(taschenrechner.anzeigeZahlen.getText()=="0"||taschenrechner.anzeigeOperatoren.getText()=="÷"||taschenrechner.anzeigeOperatoren.getText()=="X"||taschenrechner.anzeigeOperatoren.getText()=="+"||taschenrechner.anzeigeOperatoren.getText()=="-"){
                    taschenrechner.anzeigeZahlen.setText("2");
                }
                else{
                    taschenrechner.anzeigeZahlen.setText(taschenrechner.anzeigeZahlen.getText()+"2");
                }
            }
            if(obj== taschenrechner.buttonDrei){

                if(taschenrechner.anzeigeZahlen.getText()=="0"||taschenrechner.anzeigeOperatoren.getText()=="÷"||taschenrechner.anzeigeOperatoren.getText()=="X"||taschenrechner.anzeigeOperatoren.getText()=="+"||taschenrechner.anzeigeOperatoren.getText()=="-"){
                    taschenrechner.anzeigeZahlen.setText("3");
                }
                else{
                    taschenrechner.anzeigeZahlen.setText(taschenrechner.anzeigeZahlen.getText()+"3");
                }
            }
            if(obj== taschenrechner.buttonVier){

                if(taschenrechner.anzeigeZahlen.getText()=="0"||taschenrechner.anzeigeOperatoren.getText()=="÷"||taschenrechner.anzeigeOperatoren.getText()=="X"||taschenrechner.anzeigeOperatoren.getText()=="+"||taschenrechner.anzeigeOperatoren.getText()=="-"){
                    taschenrechner.anzeigeZahlen.setText("4");
                }
                else{
                    taschenrechner.anzeigeZahlen.setText(taschenrechner.anzeigeZahlen.getText()+"4");
                }
            }
            if(obj== taschenrechner.buttonFuenf){

                if(taschenrechner.anzeigeZahlen.getText()=="0"||taschenrechner.anzeigeOperatoren.getText()=="÷"||taschenrechner.anzeigeOperatoren.getText()=="X"||taschenrechner.anzeigeOperatoren.getText()=="+"||taschenrechner.anzeigeOperatoren.getText()=="-"){
                    taschenrechner.anzeigeZahlen.setText("5");
                }
                else{
                    taschenrechner.anzeigeZahlen.setText(taschenrechner.anzeigeZahlen.getText()+"5");
                }
            }
            if(obj== taschenrechner.buttonSechs){

                if(taschenrechner.anzeigeZahlen.getText()=="0"||taschenrechner.anzeigeOperatoren.getText()=="÷"||taschenrechner.anzeigeOperatoren.getText()=="X"||taschenrechner.anzeigeOperatoren.getText()=="+"||taschenrechner.anzeigeOperatoren.getText()=="-"){
                    taschenrechner.anzeigeZahlen.setText("6");
                }
                else{
                    taschenrechner.anzeigeZahlen.setText(taschenrechner.anzeigeZahlen.getText()+"6");
                }
            }
            if(obj== taschenrechner.buttonSieben){

                if(taschenrechner.anzeigeZahlen.getText()=="0"||taschenrechner.anzeigeOperatoren.getText()=="÷"||taschenrechner.anzeigeOperatoren.getText()=="X"||taschenrechner.anzeigeOperatoren.getText()=="+"||taschenrechner.anzeigeOperatoren.getText()=="-"){
                    taschenrechner.anzeigeZahlen.setText("7");
                }
                else{
                    taschenrechner.anzeigeZahlen.setText(taschenrechner.anzeigeZahlen.getText()+"7");
                }
            }
            if(obj== taschenrechner.buttonAcht){

                if(taschenrechner.anzeigeZahlen.getText()=="0"||taschenrechner.anzeigeOperatoren.getText()=="÷"||taschenrechner.anzeigeOperatoren.getText()=="X"||taschenrechner.anzeigeOperatoren.getText()=="+"||taschenrechner.anzeigeOperatoren.getText()=="-"){
                    taschenrechner.anzeigeZahlen.setText("8");
                }
                else{
                    taschenrechner.anzeigeZahlen.setText(taschenrechner.anzeigeZahlen.getText()+"8");
                }
            }
            if(obj== taschenrechner.buttonNeun){

                if(taschenrechner.anzeigeZahlen.getText()=="0"||taschenrechner.anzeigeOperatoren.getText()=="÷"||taschenrechner.anzeigeOperatoren.getText()=="X"||taschenrechner.anzeigeOperatoren.getText()=="+"||taschenrechner.anzeigeOperatoren.getText()=="-"){
                    taschenrechner.anzeigeZahlen.setText("9");
                }
                else{
                    taschenrechner.anzeigeZahlen.setText(taschenrechner.anzeigeZahlen.getText()+"9");
                }
            }
            if(obj== taschenrechner.buttonC){
                taschenrechner.anzeigeZahlen.setText("0");
                while(operanden.isEmpty()!=true){
                    operanden.pop();
                }
                while(operatoren.isEmpty()!=true){
                    operatoren.pop();
                }

            }
            //Bei allen Operatoren wird zunächst die noch auf der anzeigeZahlen stehende Zahl auf den Operandenstapel gelegt, danach erscheint der operator auf der anzeigeZahlen
            if(obj== taschenrechner.buttonGeteilt){
                operanden.push(taschenrechner.anzeigeZahlen.getText());
                taschenrechner.anzeigeOperatoren.setText("÷");
               
                pruefen();  
                //operatoren.push(taschenrechner.anzeigeZahlen.getText());
                index++;
            }
            if(obj== taschenrechner.buttonMal){
                operanden.push(taschenrechner.anzeigeZahlen.getText());
                taschenrechner.anzeigeOperatoren.setText("X");
               
                pruefen();
                //operatoren.push(taschenrechner.anzeigeZahlen.getText());
                index++;
            }
            if(obj== taschenrechner.buttonPlus){
                operanden.push(taschenrechner.anzeigeZahlen.getText());
                taschenrechner.anzeigeOperatoren.setText("+");
               
                pruefen();
                //operatoren.push(taschenrechner.anzeigeZahlen.getText());
                index++;
            }
            if(obj== taschenrechner.buttonMinus){
                operanden.push(taschenrechner.anzeigeZahlen.getText());
                taschenrechner.anzeigeOperatoren.setText("-");
                
                pruefen();
                //operatoren.push(taschenrechner.anzeigeZahlen.getText());
                index++;
            }

            if(obj== taschenrechner.buttonKomma){
                if(taschenrechner.anzeigeZahlen.getText()=="0"||taschenrechner.anzeigeZahlen.getText()=="÷"||taschenrechner.anzeigeZahlen.getText()=="X"||taschenrechner.anzeigeZahlen.getText()=="+"||taschenrechner.anzeigeZahlen.getText()=="-"){
                    taschenrechner.anzeigeZahlen.setText("0.");
                }
                else{
                    taschenrechner.anzeigeZahlen.setText(taschenrechner.anzeigeZahlen.getText()+".");
                }
            }
            //Führt die Rechnung solange durch, bis keine operatoren mehr vorhanden sind
            if(obj== taschenrechner.buttonGleich){
                operanden.push(taschenrechner.anzeigeZahlen.getText());
                while(index!=0){
                    rechnen();
                }
                String ergebnisString= operanden.top().toString();
                taschenrechner.anzeigeOperatoren.setText("");
                taschenrechner.anzeigeZahlen.setText(ergebnisString);
                operanden.pop();
            }

        }
        //überprüft die die Wertigkeit des Operators auf dem stapel und vergleicht ihn mit der Wertigkeit von dem Operator auf der anzeigeZahlen
        public void pruefen(){
            String anzeige= taschenrechner.anzeigeOperatoren.getText();

            int anzeigewert=0;
            if(anzeige=="÷"||anzeige=="X"){
                anzeigewert=1;
            }

            Object stapel= operatoren.top();
            int stapelwert=1;
            if(stapel=="+"||stapel=="-"){
                stapelwert=0;
            }

            if(operatoren.isEmpty()==true||anzeigewert>stapelwert){
                operatoren.push(taschenrechner.anzeigeOperatoren.getText());
            }
            else{
                rechnen();

            }
        }
        //wandelt die zahlen von String zu float um, danach wird der operator überprüft und gerechnet
        public void rechnen(){

            String zahl1String= operanden.top().toString();
            float zahl1= Float.parseFloat(zahl1String);
            operanden.pop();
            

            String zahl2String=operanden.top().toString();
            float zahl2= Float.parseFloat(zahl2String);
            operanden.pop();

            if(operatoren.top()=="÷"){
                ergebnis=zahl2/zahl1;
                operatoren.pop();
                operanden.push(ergebnis);
                 index--;
            }
            else if(operatoren.top()=="X"){
                ergebnis=zahl2*zahl1;
                operatoren.pop();
                operanden.push(ergebnis);
                 index--;
            }
            else if(operatoren.top()=="+"){
                ergebnis=zahl2+zahl1;
                operatoren.pop();
                operanden.push(ergebnis);
                 index--;
            }
            else if(operatoren.top()=="-"){
                ergebnis=zahl2-zahl1;
                operatoren.pop();
                operanden.push(ergebnis);
                 index--;
            }
            else{
                operatoren.push(taschenrechner.anzeigeOperatoren.getText());
                operanden.push(zahl1);
                operanden.push(zahl2);
                rechnen();
               
            }
            
            
           
         
        }

    }
}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
V Vererbung Eclipse startet das Programm nicht und rechnet nicht Java Basics - Anfänger-Themen 6
X Wie Rechnet man in einer For-Schleife *? Java Basics - Anfänger-Themen 3
J Java rechnet -0.94 + 0.01 falsch Java Basics - Anfänger-Themen 14
P Java rechnet falsch! (ab 6stelligen Zahlen) Java Basics - Anfänger-Themen 14
O Datentypen java rechnet ungenau Java Basics - Anfänger-Themen 10
H Calendar rechnet möglicherweise falsch Java Basics - Anfänger-Themen 6
Y rechnet java falsch? Java Basics - Anfänger-Themen 5
J Modulo-Operator rechnet falsch Java Basics - Anfänger-Themen 2
S Math.tan Problem rechnet falsches Ergebniss aus. Java Basics - Anfänger-Themen 3
G "Java rechnet falsch" bzw. ich weiss nicht warum. Java Basics - Anfänger-Themen 6
C Mein Programm rechnet lieber als dass es malt - warum? Java Basics - Anfänger-Themen 10
M Warum rechnet Java hier nicht richtig? Java Basics - Anfänger-Themen 3
sliwalker GUI-Taschenrechner rechnet nicht Java Basics - Anfänger-Themen 6
A "Hello World"-Programm läuft nicht Java Basics - Anfänger-Themen 16
D Regex greift nicht richtig Java Basics - Anfänger-Themen 4
richis-fragen JTable den angezeigten WERT nicht den Wert aus dem Model ausgeben. Java Basics - Anfänger-Themen 3
richis-fragen JTable Header ausgeblendete (width = 0) nicht per mouseDragged aufziehen. Java Basics - Anfänger-Themen 9
M Ausgabe einer ArrayList ensteht nur als Hashcode, nicht als Objekt Java Basics - Anfänger-Themen 16
K Warum wird mir auf der Konsole des Servers nicht "xxxx" angezeigt (Server/Client) Java Basics - Anfänger-Themen 4
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
richis-fragen JTable effektiv angezeigter Text ausgeben nicht Inhalt vom Model Java Basics - Anfänger-Themen 9
S nach Import von jars (PLC4x) in Eclipse kann nicht mehr compiliert werden Java Basics - Anfänger-Themen 9
J Datenüberwachung funktioniert nicht Java Basics - Anfänger-Themen 9
S Wie debugge ich dies am besten: SingleThreadExecutor führt Task nicht aus..? Java Basics - Anfänger-Themen 29
H JDK installieren jdk-21 wird nicht erkannt Java Basics - Anfänger-Themen 13
N Klassen Hintergrundfarbe in JPanel ändert sich nicht Java Basics - Anfänger-Themen 3
K Warum wird mir "Empfangen vom Client:" nicht sofort ausgegeben(Server/Client) Java Basics - Anfänger-Themen 3
mo13 JTextField funktioniert nicht Java Basics - Anfänger-Themen 4
J .jar datei öffnen funktioniert nicht Java Basics - Anfänger-Themen 17
M Methode zielnah zeigt das gewünschte Ausgabe nicht an Java Basics - Anfänger-Themen 3
K Verstehe Rekursion nicht ganz Java Basics - Anfänger-Themen 7
M OOP Brüche nicht richtig berechnen Java Basics - Anfänger-Themen 3
N Ich kriege ganze zeit die Fehlermeldung "Inhalt der Zwischenablage kann nicht in die ausgewählten Elemente eingefügt werden" hat jemand eine Lösung? Java Basics - Anfänger-Themen 6
K TicTacToe belegtes feld nicht neu besetzbar Java Basics - Anfänger-Themen 1
K TicTacToe belegtes Feld nicht neu besetzbar Java Basics - Anfänger-Themen 3
A Warum wird mein jdk nicht gefunden? Java Basics - Anfänger-Themen 3
M Queue-Datenstruktur: nach dem Elementen entfernen, das Ergebnis ist immer noch nicht optimal. Java Basics - Anfänger-Themen 3
K Programm compilierbar aber nicht ausführbar... Java Basics - Anfänger-Themen 21
N Hey Leute und zwar versuche ich gerade ein 2D Spiel zu Programmieren aber die Figur will sich nicht nach links oder rechts bewegen :( Java Basics - Anfänger-Themen 12
G Mit jPackage erstellte EXE funktioniert nicht Java Basics - Anfänger-Themen 2
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
G Robot funktioniert nicht bei SelectionListener Java Basics - Anfänger-Themen 6
D MacOS: PDF erstellen geht nicht Java Basics - Anfänger-Themen 1
G Kann Java-Programm nicht als jar aufrufen, auch als EXE nicht Java Basics - Anfänger-Themen 19
J jar Befehl wird nicht erkannt Java Basics - Anfänger-Themen 7
missy72 Erste Schritte (nicht) Deterministischer endlicher Automat Java Basics - Anfänger-Themen 9
T Getter/Setter - wie sieht ein Setter aus? Und wie nicht? Java Basics - Anfänger-Themen 34
T catch(InputMismatchException) wird nicht ausgefürt/erkannt Java Basics - Anfänger-Themen 12
T Methode akzeptiert String nicht Java Basics - Anfänger-Themen 18
P Netbeans installation geht nicht Java Basics - Anfänger-Themen 26
R RegEx funktioniert nicht Java Basics - Anfänger-Themen 14
T HashMap Lsite gibt die sachen nicht aus wie gewollt. Java Basics - Anfänger-Themen 3
H Counter durch gepresste Taste nur auf 1 erhöhen und nicht durchzählen lassen Java Basics - Anfänger-Themen 7
S 2 Reihen ratio-btn, eine Reihe funktioniert andere nicht Java Basics - Anfänger-Themen 4
T scanner nicht erkannt Java Basics - Anfänger-Themen 3
monsterherz Punkt Notation funktioniert nicht Java Basics - Anfänger-Themen 4
monsterherz Fehler Semikolon fehlt - ich weiss aber nicht wo da noch eines hin sollte... Java Basics - Anfänger-Themen 21
R Java kann nicht installiert werden Java Basics - Anfänger-Themen 8
marcelnedza Finde meinen Fehler in einer Methode nicht, Java Karol Java Basics - Anfänger-Themen 15
monsterherz einfache Methode mit Fehler den ich nicht finde Java Basics - Anfänger-Themen 21
monsterherz if / else if mit Fehler den ich leider nicht finde Java Basics - Anfänger-Themen 11
D Jar Datei startet unter Linux nicht Java Basics - Anfänger-Themen 3
KeinJavaFreak Erste Schritte Programm "Java(TM) Platform SE binary " nicht vorhanden Java Basics - Anfänger-Themen 1
KeinJavaFreak Erste Schritte Java "Executable Jar File" nicht vorhanden Java Basics - Anfänger-Themen 1
M Konstruktor-Aufruf im Konstruktor, aber nicht am Anfang? Java Basics - Anfänger-Themen 4
G Variable aktualisiert sich nicht in rekursiver Methode Java Basics - Anfänger-Themen 4
Darkherobrine9 Import klappt nicht Java Basics - Anfänger-Themen 7
N Programm Funktioniert mit .txt Datei aber nicht mit .rtf Datei Java Basics - Anfänger-Themen 2
R Compiler-Fehler Variable wird nicht gefunden bzw. erkannt? Java Basics - Anfänger-Themen 2
_so_far_away_ Inventarisierungssystem brauche switch Cases und weiß nicht, wie ich e implementieren muss Java Basics - Anfänger-Themen 5
P BeforeEach AfterEach werden nicht ausgeführt. Java / Selenium Java Basics - Anfänger-Themen 4
I Erste Schritte Einfache Datenbank-Webseite erstellen als Nicht-IT-lerin Java Basics - Anfänger-Themen 24
N Interpreter-Fehler Compiler zeigt keine Fehler an, aber das Programm läuft nicht (BlueJ) Java Basics - Anfänger-Themen 2
D Quellcode für cmd funktioniert nicht Java Basics - Anfänger-Themen 9
C Kann mir jemand sagen warum ich nicht mal rechnen kann ? Java Basics - Anfänger-Themen 32
K Java Lotto Spiel; ich komme nicht weiter Java Basics - Anfänger-Themen 15
A JavaFX-Anwendung läuft nicht mit Selenium WebDriver Java Basics - Anfänger-Themen 0
T Meine Klasse wird nicht gefunden Java Basics - Anfänger-Themen 1
T Wie kann man es machen das ein Objekt nicht übermalt wird Java Basics - Anfänger-Themen 2
H Cast von Float nach String klappt nicht Java Basics - Anfänger-Themen 12
heinrich172 Methoden Trotz gleichem Element stimmt Vergleich nicht? Java Basics - Anfänger-Themen 7
I Entity Objekt nicht gefunden -> Webhook empfangen in der gleichen Methode (Transaktion) Java Basics - Anfänger-Themen 37
K warum kann ich das Objekt nicht erstellen ? Java Basics - Anfänger-Themen 2
MiMa Ungültiges Datum wird nicht erkannt ?? Java Basics - Anfänger-Themen 6
J Meine Mails gehen nicht raus Java Basics - Anfänger-Themen 8
Zrebna Kann Java Programm nicht in Konsole ausführen Java Basics - Anfänger-Themen 1
S Ist JDK jetzt free oder nicht? Java Basics - Anfänger-Themen 5
K Warum läuft das Programm nicht(bzw. nicht richtig) Java Basics - Anfänger-Themen 4
B Explizit Array definieren geht nicht? Java Basics - Anfänger-Themen 14
M Methoden Methode 'wiederhole' nicht gefunden (Uebersetzungsfehler) Java Basics - Anfänger-Themen 1
D Eclipse will nicht auslesen Java Basics - Anfänger-Themen 6
Temsky34 Array IndexOf nicht verfügbar Java Basics - Anfänger-Themen 18
TeacherMrSSimon Schachspiel, Werte in Figur eintragen klappt nicht Java Basics - Anfänger-Themen 23
B von Java/Eclipse verwendete Datei existiert gar nicht? Java Basics - Anfänger-Themen 6
ms_cikar Bin to Float convertieren funktioniert nicht Java Basics - Anfänger-Themen 24
B Schrankensystem mit Farberkennung für Flashgame funktioniert nicht wie geplant Java Basics - Anfänger-Themen 4
M JButton setBackground() färbt nicht den ganzen Knopf Java Basics - Anfänger-Themen 4
K REGEX - Rechnungsbetrag wird nicht richtig ausgelesen. Java Basics - Anfänger-Themen 3
B Dekorator Muster - Irgendwas stimmt hier doch nicht? Java Basics - Anfänger-Themen 4
I Greenscreen, funktioniert nicht zu 100%... nicht alle Pixel werden geändert Java Basics - Anfänger-Themen 1

Ähnliche Java Themen

Neue Themen


Oben