# Taschenrechner in Java Programmieren



## sixcross (10. März 2009)

Hallo
Ich bin Neu hier und ich entschuldige mich schonmal im vorraus für Fehler in meinem Beitrag 

Ich bin neu in Java ( wir lerinen Java im Technischen Gymnasium seit einem halben Jahr ca.).
Unsere Aufgabe ist einen Taschenrechner zu Programmieren (wurde hier schon oft angeschprochen aber ich fand nix was mir Helfen konnte).
Ich Selber habe schon die Benutzeroberfläche erstellt und meinen Rechner dazu gebracht Zahlen per Knofdruck einzufügen, Taschenrechner zurücksetzen, Komma einfügen und die Zahl Pi einfügen.


```
import java.applet.*;
import java.awt.*;
import java.awt.event.*;

public class Taschenrechner extends Applet implements ActionListener

{
  double e1,e2,ergebnis;                                                          //Variablen deklarieren
  String u,r,p;

  Panel Oben             = new Panel ();                                         //Panels erzeugen
  Panel Rechts           = new Panel ();
  Panel MitteR           = new Panel ();
  Panel Mitte            = new Panel ();
  Panel MitteL           = new Panel ();
  Panel Links            = new Panel ();
  
  TextField Bildschirm   = new TextField ("0",25);                               //Bildschirm erzeugen
  Button B0              = new Button ("0");                                     //Knöpfe erzeugen
  Button B1              = new Button ("1");
  Button B2              = new Button ("2");
  Button B3              = new Button ("3");
  Button B4              = new Button ("4");
  Button B5              = new Button ("5");
  Button B6              = new Button ("6");
  Button B7              = new Button ("7");
  Button B8              = new Button ("8");
  Button B9              = new Button ("9");
  Button BKomma          = new Button (".");
  Button BVorzeichen     = new Button ("+/-");
  Button BDividieren     = new Button ("/");
  Button BMultiplizieren = new Button ("*");
  Button BSubtrahieren   = new Button ("-");
  Button BAddieren       = new Button ("+");
  Button BErgebnis       = new Button ("=");
  Button BPI             = new Button ("PI");
  Button BWurzel         = new Button ("Wurzel");
  Button XWurzel         = new Button ("x.Wurzel");
  Button BQuadrieren     = new Button ("x^2");
  Button BPotenzieren    = new Button ("x^y");
  Button BLöschen        = new Button ("CE");
  
 public void init ()
 {
  B0.addActionListener              (this);                                      //ActionListener an die Knöpfe anhängen
  B1.addActionListener              (this);
  B2.addActionListener              (this);
  B3.addActionListener              (this);
  B4.addActionListener              (this);
  B5.addActionListener              (this);
  B6.addActionListener              (this);
  B7.addActionListener              (this);
  B8.addActionListener              (this);
  B9.addActionListener              (this);
  BKomma.addActionListener          (this);
  BVorzeichen.addActionListener     (this);
  BDividieren.addActionListener     (this);
  BMultiplizieren.addActionListener (this);
  BSubtrahieren.addActionListener   (this);
  BAddieren.addActionListener       (this);
  BErgebnis.addActionListener       (this);
  BPI.addActionListener             (this);
  BWurzel.addActionListener         (this);
  XWurzel.addActionListener         (this);
  BQuadrieren.addActionListener     (this);
  BPotenzieren.addActionListener    (this);
  BLöschen.addActionListener        (this);

  Oben ();
  Links ();
  MitteL ();
  Mitte ();
  MitteR ();
  Rechts ();

  setLayout (null);                                                              //Nulllayout

  add (Oben);                                                                    //Panels Hinzufügen
  add (Links);
  add (MitteL);
  add (Mitte);
  add (MitteR);
  add (Rechts);
  
  Oben.setBounds (10,5,170,30);                                                  //Größe der Panels
  Links.setBounds (10,25,60,170);
  MitteL.setBounds (35,25,85,170);
  Mitte.setBounds (60,25,110,170);
  MitteR.setBounds (85,25,135,170);
  Rechts.setBounds (110,0,160,195);
 }
 
 public void Oben()                                                             //Einteilung des oberen Panels
 {
  Oben.setLayout (null);
  Oben.add (Bildschirm);
  Bildschirm.setBounds (10,10,150,20);
 }
 
 public void Links()                                                             //Einteilung des linken Panels
 {
  Links.setLayout (null);
  Links.add (B7);
  Links.add (B4);
  Links.add (B1);
  Links.add (B0);
  B7.setBounds (10,50,50,30);
  B4.setBounds (10,80,50,30);
  B1.setBounds (10,110,50,30);
  B0.setBounds (10,140,50,30);
 }
 
 public void MitteL()                                                            //Einteilung des mittleren-linken Panels
 {
  MitteL.setLayout (null);
  MitteL.add (B8);
  MitteL.add (B5);
  MitteL.add (B2);
  MitteL.add (BKomma);
  B8.setBounds (35,50,50,30);
  B5.setBounds (35,80,50,30);
  B2.setBounds (35,110,50,30);
  BKomma.setBounds (35,140,50,30);
 }
 
 public void Mitte()                                                             //Einteilung des mittleren Panels
 {
  Mitte.setLayout (null);
  Mitte.add (B9);
  Mitte.add (B6);
  Mitte.add (B3);
  Mitte.add (BVorzeichen);
  B9.setBounds (60,50,50,30);
  B6.setBounds (60,80,50,30);
  B3.setBounds (60,110,50,30);
  BVorzeichen.setBounds (60,140,50,30);
 }
 
 public void MitteR()                                                            //Einteilung des mittleren-rechten Panels
 {
  MitteR.setLayout (null);
  MitteR.add (BPI);
  MitteR.add (BQuadrieren);
  MitteR.add (BPotenzieren);
  MitteR.add (BWurzel);
  MitteR.add (XWurzel);
  BPI.setBounds (85,20,50,30);
  BQuadrieren.setBounds (85,50,50,30);
  BPotenzieren.setBounds (85,80,50,30);
  BWurzel.setBounds (85,110,50,30);
  XWurzel.setBounds (85,140,50,30);
 }
 
 public void Rechts()                                                            //Einteilung des rechten Panels
 {
  Rechts.setLayout (null);
  Rechts.add (BLöschen);
  Rechts.add (BDividieren);
  Rechts.add (BMultiplizieren);
  Rechts.add (BSubtrahieren);
  Rechts.add (BAddieren);
  Rechts.add (BErgebnis);
  BLöschen.setBounds (110,15,50,30);
  BDividieren.setBounds (110,45,50,30);
  BMultiplizieren.setBounds (110,75,50,30);
  BSubtrahieren.setBounds (110,105,50,30);
  BAddieren.setBounds (110,135,50,30);
  BErgebnis.setBounds (110,165,50,30);
 }
 
 public void actionPerformed (ActionEvent e)                                     //Actionen der Knöpfe
 {
  String s = e.getActionCommand ();

  if (s.equals ("0"))                                                            //Knopf für die Zahl 0
  {
   p = Bildschirm.getText ();
   Bildschirm.setText (p + "0");
  }

  if (s.equals ("1"))                                                            //Knopf für die Zahl 1
  {
   p = Bildschirm.getText ();
   Bildschirm.setText (p + "1");
  }

  if (s.equals ("2"))                                                            //Knopf für die Zahl 2
  {
   p = Bildschirm.getText ();
   Bildschirm.setText (p + "2");
  }
  
  if (s.equals ("3"))                                                            //Knopf für die Zahl 3
  {
   p = Bildschirm.getText ();
   Bildschirm.setText (p + "3");
  }
  
  if (s.equals ("4"))                                                            //Knopf für die Zahl 4
  {
   p = Bildschirm.getText ();
   Bildschirm.setText (p + "4");
  }
  
  if (s.equals ("5"))                                                            //Knopf für die Zahl 5
  {
   p = Bildschirm.getText ();
   Bildschirm.setText (p + "5");
  }
  
  if (s.equals ("6"))                                                            //Knopf für die Zahl 6
  {
   p = Bildschirm.getText ();
   Bildschirm.setText (p + "6");
  }
  
  if (s.equals ("7"))                                                            //Knopf für die Zahl 7
  {
   p = Bildschirm.getText ();
   Bildschirm.setText (p + "7");
  }
  
  if (s.equals ("8"))                                                            //Knopf für die Zahl 8
  {
   p = Bildschirm.getText ();
   Bildschirm.setText (p + "8");
  }
  
  if (s.equals ("9"))                                                            //Knopf für die Zahl 9
  {
   p = Bildschirm.getText ();
   Bildschirm.setText (p + "9");
  }
  
  if (s.equals ("."))                                                            //Knopf für das Komma
  {
   p = Bildschirm.getText ();
   Bildschirm.setText (p + ".");
  }
  
  if (s.equals ("+/-"))                                                          //Knopf für Vorzeichen
  {
   p = Bildschirm.getText ();
   Bildschirm.setText ("-" + p);
  }
  
  if (s.equals ("/"))                                                            //Knopf für Division
  {
   
  }
  
  if (s.equals ("*"))                                                            //Knopf für Multiplikation
  {

  }
  
  if (s.equals ("-"))                                                            //Knopf für die Substraktion
  {

  }
  
  if (s.equals ("+"))                                                            //Knopf für die Addition
  {

  }
  
  
  if (s.equals ("PI"))                                                           //Knopf für die Zahl PI
  {
   Bildschirm.setText("" + Math.PI);
  }
  
  if (s.equals ("Wurzel"))                                                      //Knopf für das Wurzeln
  {

  }
  
  if (s.equals ("x.Wurzel"))                                                     //Knopf für die x-te Wurzel
  {

  }
  
  if (s.equals ("x^2"))                                                          //Knopf für das Quadrieren
  {

  }
  
  if (s.equals ("x^y"))                                                          //Knopf für das Potenzieren
  {

  }
  
  if (s.equals ("CE"))                                                           //Knopf für das Resetten
  {
   Bildschirm.setText ("0");
  }
 }
}
```



Ich hab schon einen ersten Versuch gemacht eine zahl durch die andere zu Teilen:



```
if (s.equals ("/"))                                                            //Knopf für Division
  {
   u = Bildschirm.getText ();
   e1 = Double.valueOf (u).doubleValue();
   Bildschirm.setText ("0");
   if (s.equals ("="))                                                            //Knopf für das Ergebniss
   {
    r = Bildschirm.getText ();
    e2 = Double.valueOf (r).doubleValue();
    ergebnis = e1 / e2;
    Bildschirm.setText ("" + ergebnis);
   }
  }
```


Wenn ich meine erste Zahl eingebe dann auf den Knopf Geteilt drücke soll er sich den Wert als u abspeichern und in ne Zahl umwandeln (e1). 
Danach Die 2te Zahl eingeben und auf den Knopf  "=" drücke soll er als r abspeichern und in ne zahl umwandeln (e2), danach beide miteinander Verrechnen und sie auf den Bildschirm geben.
Nur leider geht das nicht kann mir einer weiterhelfen?

Mfg sixcross


----------



## Kai008 (10. März 2009)

Hab mal ein wenig dran rumgebastelt.
 zwar nicht so wirklich, aber das kannst du ja fertig erledigen.
Ach ja, das 2. und 5. Panel macht Probleme, aber kannst ja selbst rausfinden woran das liegt, bin schon müde. (Seit 6 vor Eclipse, weil ich nix zu tun habe. >_<)


```
import java.applet.Applet;
import java.awt.Color;

public class Taschenrechner extends Applet
{
	private static final long serialVersionUID = 1L;
	
	public void init ()
	{
		this.setBackground(new Color(238, 238, 238));
		this.setLayout(null);                                                              
		this.setSize(200, 200);
		
		new Elements(this);
		this.repaint();
	}
}
import javax.swing.JButton;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class Elements extends Object
{
	private JPanel upPanel;
	private JPanel rightPanel;
	private JPanel middleRightPanel;
	private JPanel middlePanel;
	private JPanel middleLeftPanel;
	private JPanel leftPanel;
	
	private JTextField monitorField;
	
	private JButton button0;
	private JButton button1;
	private JButton button2;
	private JButton button3;
	private JButton button4;
	private JButton button5;
	private JButton button6;
	private JButton button7;
	private JButton button8;
	private JButton button9;
	
	private JButton buttonComma;
	private JButton buttonSign;
	
	private JButton buttonPI;
	private JButton buttonSquares;
	private JButton buttonExponentiation;
	private JButton buttonSquareRoot;
	private JButton buttonRoot;
	
	private JButton buttonAdd;
	private JButton buttonSubtract;
	private JButton buttonMultiply;
	private JButton buttonDivide;
	private JButton buttonResult;
	private JButton buttonDel;
	
	public Elements(Taschenrechner taschenrechner)
	{
		super();
		
		this.panels();
		this.buttons();
		
		this.monitorField = new JTextField("0", 25);
		this.monitorField.setBounds(10, 10, 150, 20);
		this.upPanel.add(this.monitorField);
		
		taschenrechner.add(this.upPanel);
		taschenrechner.add(this.leftPanel);
		taschenrechner.add(this.middlePanel);
		taschenrechner.add(this.middleLeftPanel);
		taschenrechner.add(this.middleRightPanel);
		taschenrechner.add(this.rightPanel);
	}
	private void panels()
	{
		this.upPanel = new JPanel();
		this.upPanel.setLayout(null);
		this.upPanel.setBounds(10, 5, 170, 30);

		this.rightPanel = new JPanel();
		this.rightPanel.setLayout(null);
		this.rightPanel.setBounds(130, 0, 160, 195);
		
		this.middleRightPanel = new JPanel();
		this.middleRightPanel.setLayout(null);
		this.middleRightPanel.setBounds(85, 25, 135, 170);
		
		this.middlePanel = new JPanel();
		this.middlePanel.setLayout(null);
		this.middlePanel.setBounds(60, 25, 110, 170);
		
		this.middleLeftPanel = new JPanel();
		this.middleLeftPanel.setLayout(null);
		this.middleLeftPanel.setBounds(35, 25, 85, 170);
		
		this.leftPanel = new JPanel();
		this.leftPanel.setLayout(null);
		this.leftPanel.setBounds(10, 25, 60, 170);
	}
	private void buttons()
	{
		Action action = new Action(this);
		
		this.button2 = new JButton("2");
		this.button5 = new JButton("5");
		this.button8 = new JButton("8");
		this.buttonComma = new JButton(".");
		
		this.button2.addActionListener(action);
		this.button5.addActionListener(action);
		this.button8.addActionListener(action);
		this.buttonComma.addActionListener(action);
		
		this.button2.setBounds(35, 110, 50, 30);
		this.button5.setBounds(35, 80, 50, 30);
		this.button8.setBounds(35, 50, 50, 30);
		this.buttonComma.setBounds(35, 140, 50, 30);
		
		this.middleLeftPanel.add(this.button2);
		this.middleLeftPanel.add(this.button5);
		this.middleLeftPanel.add(this.button8);
		this.middleLeftPanel.add(this.buttonComma);
		////
		this.button0 = new JButton("0");
		this.button1 = new JButton("1");
		this.button4 = new JButton("4");
		this.button7 = new JButton("7");
		
		this.button0.setBounds(10, 140, 50, 30);
		this.button1.setBounds(10, 110, 50, 30);
		this.button4.setBounds(10, 80, 50, 30);
		this.button7.setBounds(10, 50, 50, 30);
		
		this.leftPanel.add(this.button0);
		this.leftPanel.add(this.button1);
		this.leftPanel.add(this.button4);
		this.leftPanel.add(this.button7);
		////
		this.button3 = new JButton("0");
		this.button6 = new JButton("1");
		this.button9 = new JButton("4");
		this.buttonSign = new JButton("+/-");
		
		this.button3.setBounds (60,110,50,30);
		this.button6.setBounds (60,80,50,30);
		this.button9.setBounds (60,50,50,30);
		this.buttonSign.setBounds (60,140,50,30);
		
		this.middlePanel.add(this.button3);
		this.middlePanel.add(this.button6);
		this.middlePanel.add(this.button9);
		this.middlePanel.add(this.buttonSign);
		////
		this.buttonPI = new JButton("PI");
		this.buttonSquares = new JButton("x^2");
		this.buttonExponentiation = new JButton("x^y");
		this.buttonSquareRoot = new JButton("<html><body>&radic;</body></html>");
		this.buttonRoot = new JButton("<html><body>x&radic;</body></html>");
		
		this.buttonPI.setBounds (85,20,50,30);
		this.buttonSquares.setBounds (85,50,50,30);
		this.buttonExponentiation.setBounds (85,80,50,30);
		this.buttonSquareRoot.setBounds (85,110,50,30);
		this.buttonRoot.setBounds (85,140,50,30);
		
		this.buttonPI.addActionListener(action);
		this.buttonSquares.addActionListener(action);
		this.buttonExponentiation.addActionListener(action);
		this.buttonSquareRoot.addActionListener(action);
		this.buttonRoot.addActionListener(action);
		
		this.middleRightPanel.add(this.buttonPI);
		this.middleRightPanel.add(this.buttonSquares);
		this.middleRightPanel.add(this.buttonExponentiation);
		this.middleRightPanel.add(this.buttonSquareRoot);
		this.middleRightPanel.add(this.buttonRoot);
		////
		this.buttonDel = new JButton("C");
		this.buttonDivide = new JButton("/");
		this.buttonMultiply = new JButton("*");
		this.buttonSubtract = new JButton("-");
		this.buttonAdd = new JButton("+");
		this.buttonResult = new JButton("=");
		
		this.buttonDel.setBounds (130,15,50,30);
		this.buttonDivide.setBounds (130,45,50,30);
		this.buttonMultiply.setBounds (130,75,50,30);
		this.buttonSubtract.setBounds (130,105,50,30);
		this.buttonAdd.setBounds (130,135,50,30);
		this.buttonResult.setBounds (130,165,50,30);
		
		this.middleRightPanel.add(this.buttonDel);
		this.middleRightPanel.add(this.buttonDivide);
		this.middleRightPanel.add(this.buttonMultiply);
		this.middleRightPanel.add(this.buttonSubtract);
		this.middleRightPanel.add(this.buttonAdd);
		this.middleRightPanel.add(this.buttonResult);
	}
	public JButton getButton0()
	{
		return(this.button0);
	}
	public JButton getButton1()
	{
		return(this.button1);
	}
	public JButton getButton2()
	{
		return(this.button2);
	}
	public JButton getButton3()
	{
		return(this.button3);
	}
	public JButton getButton4()
	{
		return(this.button4);
	}
	public JButton getButton5()
	{
		return(this.button5);
	}
	public JButton getButton6()
	{
		return(this.button6);
	}
	public JButton getButton7()
	{
		return(this.button7);
	}
	public JButton getButton8()
	{
		return(this.button8);
	}
	public JButton getButton9()
	{
		return(this.button9);
	}
	public JButton getButtonAdd()
	{
		return(this.buttonAdd);
	}
	public JButton getButtonPI()
	{
		return(this.buttonPI);
	}
	public JTextField getMonitor()
	{
		return(this.monitorField);
	}
}
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;

public class Action implements ActionListener
{
	private byte cmd;
	private int cache;
	private Elements elements;
	
	public Action(Elements elements)
	{
		super();
		
		this.elements = elements;
	}
	public void actionPerformed(ActionEvent arg0)
	{
		JButton sourceButton = (JButton)arg0.getSource();
		
		if(sourceButton.equals(this.elements.getButton0()))
		{
			if(this.elements.getMonitor().getText().equals("0"))
				return;
			else
				this.elements.getMonitor().setText(
						this.elements.getMonitor().getText().concat("0"));
		}
		else if(sourceButton.equals(this.elements.getButton1()))
		{
			if(this.elements.getMonitor().getText().equals("0"))
				this.elements.getMonitor().setText("1");
			else
				this.elements.getMonitor().setText(
						this.elements.getMonitor().getText().concat("1"));
		}
		else if(sourceButton.equals(this.elements.getButton2()))
		{
			if(this.elements.getMonitor().getText().equals("0"))
				this.elements.getMonitor().setText("2");
			else
				this.elements.getMonitor().setText(
						this.elements.getMonitor().getText().concat("2"));
		}
		////
		else if(sourceButton.equals(this.elements.getButtonAdd()))
		{
			if(this.cmd == 0)
			{
				this.cmd = 1;
				this.cache = Integer.parseInt(this.elements.getMonitor().getText());
				this.elements.getMonitor().setText("0");
			}
			else if(this.cmd == 1)
			{
				int number = Integer.parseInt(this.elements.getMonitor().getText());
				this.elements.getMonitor().setText(String.valueOf((number + this.cache)));
			}
		}
	}
}
```


----------



## sixcross (11. März 2009)

Also schonmal viele danke das du dir die Mühe gemacht hast.. jetzt ist mein Problem dass ich null kapier... 
Ich hab mir den Code angeschaut, aber kapieren tu ich nur die Hälfte da wir mehr als 4/5 der befehle noch nicht hatten....
Nya danke trotzdem für die Mühe Kai008.

Hat jemand eine andere Lösung?
mir geht es nur darum:

Wie bekomm ich dass wenn ich auf einen Knopf drücke (nehmen wir mal ganz einfach den "+" Knopf) das er sich die Zahl abspeichert die im Bildschirm steht.
Dass ich dann eine 2te Zahl eingeben kann im gleichen Bildschirm ohne dass sich die erste Zahl löscht, und dann mit den "=" Knopf beides Addiere. 
Mehr brauch ich nicht Wissen da ich mir das dann für die anderen ableiten kann. Am besten mit den Befehlen in dem Code. 
Ein paar neue Befehle sind kein Problem solange ich noch Logisch ableiten kann was dieser Befehl tut und es nicht zu viele sind.

MfG
sixcross


----------



## Kai008 (11. März 2009)

Nach nen halben Jahr kannst du nicht new, setColor und equal?
Ist doch ganz einfach.

Wenn "+" gedrückt wird:

this.firstNumber = Integer.parseInt(this.bildschirm.getText());
this.command = "Addieren"; (oder so ähnlich)


Wenn ne Zahl gedrückt wird:

this.bildschirm.setText(this.bildschirm.getText().concat("Zahl dir gedrückt wurde."));

Nur findest du es wirklich so schön, dass die 1. Zahl bleibt?
2+2 -> 22 = -> 4


Wenn "=" gedrückt wird:

if(this.command.equal("Addieren"))
this.bildschirm.setText(String.valueOf(this.bildschirm.getText + this.firstNumber));


Ach ja, Variablen schreibt man klein, und wenn möglich englisch.
Ich würde aber sowieso von allen Buttons erben lassen. Macht zwar vermutlich am allermeisten Arbeit, aber erleichtert den ActionListener wohl ERHEBLICH.


----------



## sixcross (11. März 2009)

Ja also new und setColor kann ich... aber den ganzen rest nicht... 
des liegt warscheinlich daran das unser Lerher in jeder Stunde verschwindet und uns alles im Internet suchen lässt... des macht dann auch keinen Sinn...

Somit kann mir dein Code nicht helfen sry aber trotzdem danke für den Versuch vill kann mir jemand wirklich mit den Befehlen die oben im Code stehen erklären wie ich mein Problem lösen kann.

Edit:
Ich merke grad das du mit swing arbeitest...
Wir arbeiten mit awt haben mit swing noch nix zu tun gehabt 
also wenns geht mit awt Befehlen arbeiten bitte.
Ach ja und von Erben ab ich noch kein plan...
Ich weiß das es wadscheins fürn halbes Jahr ned viel Vorwissen ist, 
aber trotzdem will ich diesen Taschenrechner fertig bekommen xD


----------



## Kai008 (11. März 2009)

sixcross hat gesagt.:


> des liegt warscheinlich daran das unser Lerher in jeder Stunde verschwindet und uns alles im Internet suchen lässt... des macht dann auch keinen Sinn...



Warum? Ich bin bisher in 3 Schulen gegangen. Volk-, Haupt und Polytechnikum.
Das in ersterer und letzterer hatte ich kein EDV (das letzte war auch keine Schule sondern eine Irrenanstallt), und im 2. hatte der EDV-Lehrer weniger Ahnung als die halbe Klasse.
Ich habe mir sehr vieles ergoogelt. Natürlich haben sie mir hier auch teilweiße unter die Arme gegriffen (und machen es heute noch), aber der größte Teil kam trotzdem durch suchen und probieren.
Aber wenn du nichtmal equal kennst dann würde ich schleunigst die Schule wechseln, weil dann ist der Lehrer echt ein Vollhonk und vielleicht ist das auch ansteckend.



sixcross hat gesagt.:


> Ach ja und von Erben ab ich noch kein plan...


Du tust es und hast davon keinen Plan. Werd Politiker.  (Bitte nicht ernst nehmen.)
Ach ja, und Swing ist Lightwight, also werden die Komponenten von der JRE oder halt irgend einen Bestandteil davon und nicht dem Betriebsystem gezeichnet, was es teilweiße "Plattformunabhängiger" macht. Und das ist wohl der hervorstechenste Grund für Java. (Außer dass die Sprache einfach supercool ist. <3 ^_^)

Ich habe dir mal nen kleinen Taschenrechner zamgepfuscht. Kann Addieren, Subtrahieren, Multiplizieren und Dividieren.
Außerdem ist er imho sehr leicht erweiterbar. Wenn du die anderen Funktionen auch noch brauchst, baue ich sie dir auch noch ein.

Muss aber jetzt noch "schnell" Zimmer zusammenräumen, habe ich nichtmehr gemacht seit wir hier vor 3 Jahren eingezogen sind.


----------



## Sequenz (11. März 2009)

Kai ich hab dein Prog teilweise verstanden befass emich leicht länger als six mit java allerdings auch nur für die schule

das prob is das un ser lehrer die ganzen sachen noch nich beigebrahct hat ( gehe ind ie selbe klasse) und wir haben nur 1 mal die woche dieses fach und der lehrer is meist noch nich da
das meiste lernen wir durch googlen und ausprobieren aber naya haba uch ne wiele gebraucht um deins teilweise zu verstehen
und zu equal sin wir soweit ich weis grad dabei =D^^


----------



## Kai008 (11. März 2009)

Nur zur Info, da das wohl der wichtigste Befehl in Object ist:

equal vergleicht 2 Objekte. Ohne dem wirst du niemals 2 Strings vergleichen können:

"tutorials".equals("tutorials") = true
"tutorials".equals("de") = false
String1 == String2 = true oder false, niemals so vergleichen. Siehe (ich glaube zeja's) Post zur String-Cache in einen vor kurzen aktiven Thread.

Aber ich finde meinem Taschenrechner echt einfach aufgebaut. Kannst gerne auch jede Zeile die du nicht verstehst posten, und ich erkläre sie dir.


----------

