Taschenrechner

Ibet

Mitglied
Hallo,
ich habe von meinem Lehrer dieses Program bekommen und soll dieses beschreiben aber ich verstehe das nicht so ganz.
Würde mich freuen wenn ihr mir helfen könntet.

mfg Ibet


Java:
//##############################################
 //Hier ein Java-Applet für einen Tasschenrechner 
 //############################################## 

 import java.awt.*;
 import java.applet.*;

 //=====================
 //Taschenrechner Applet 
 //=====================

 public class MiniTaschenrechner extends Applet {		// extends Applet bekommt Infos 
 // Variablen
 TextField text;									   // Deklarierung
 String sText1, sText2;
 double wert1, wert2;
 String rechenOperator;
 boolean isFix;

 // Aufbau des Layouts
 
 public MiniTaschenrechner (){
 Panel rechnerRahmen = new Panel();

 text = new TextField("");
 text.setForeground(Color.BLACK);
 text.setEditable(false);

 Panel panelTaschenR = new Panel ();
 panelTaschenR.setLayout (new BorderLayout(0, 10));
 panelTaschenR.add("Center", text);
 rechnerRahmen.add("Center", panelTaschenR);

 Panel pKey = new Panel();							// Tasten werden Belegt
 pKey.setLayout(new GridLayout (6, 4, 6, 5));
 pKey.add(new Button("C"));
 pKey.add(new Button("x²"));
 pKey.add(new Button("\u221a"));
 pKey.add(new Button("%"));
 pKey.add(new Button("7"));
 pKey.add(new Button("8"));
 pKey.add(new Button("9"));
 pKey.add(new Button("/"));
 pKey.add(new Button("4"));
 pKey.add(new Button("5"));
 pKey.add(new Button("6"));
 pKey.add(new Button("*"));
 pKey.add(new Button("1"));
 pKey.add(new Button("2"));
 pKey.add(new Button("3"));
 pKey.add(new Button("-"));
 pKey.add(new Button("0"));
 pKey.add(new Button("."));
 pKey.add(new Button("="));
 pKey.add(new Button("+"));
 pKey.add(new Button("\u03c0"));

 panelTaschenR.add("South", pKey);

 setLayout(new BorderLayout(0, 0));
 add("North", rechnerRahmen);
 setBackground(Color.MAGENTA);

 wert1 = 0.0d;
 rechenOperator = "";
 wert2 = 0.0d;
 text.setText("0");
 isFix = true;
 }
 // Ende des Layouts

 //------------------
 // Der Event-Händler
 //------------------
 
 public boolean action(Event evt, Object arg){
 
 //Numerrischer Key-Input
	 
 if ("C".equals(arg)){
 wert1 =0.0d;
 rechenOperator = "";
 wert2 = 0.0d;
 text.setText("0");
 isFix = true;
 }
 else if (("0".equals(arg)) | ("1".equals(arg)) | ("2".equals(arg))		
 | ("3".equals(arg)) | ("4".equals(arg)) | ("5".equals(arg))
 | ("6".equals(arg)) | ("7".equals(arg)) | ("8".equals(arg))
 | ("9".equals(arg)) | (".".equals(arg))){
 if (isFix){
 sText2 = (String) arg;
 }
 else {
 sText2 = text.getText() + arg;
 }
 text.setText(sText2);
 isFix = false;
 }
 
 // Operationen
 
 else if (("+".equals(arg)) | ("-".equals(arg) | ("\u221a".equals(arg) | ("\u03c0").equals(arg) | ("x²".equals(arg)))
 | ("*".equals(arg)) | ("/".equals(arg)) | ("%").equals(arg) | ("=".equals(arg)))){
 sText1 = text.getText();
 wert2 = (Double.valueOf(sText1)).doubleValue();
 wert1 = Calculation(rechenOperator, wert1, wert2);
 Double dTemp = new Double(wert1);
 sText2 = dTemp.toString();
 text.setText(sText2);
 rechenOperator = (String) arg;
 isFix = true;
 }
 return true;
 }
 //--------------------
 // Ende Event-Händler
 //--------------------

 //------------
 //Berechnungen
 //------------
 
 private double Calculation(String rechenOperator, double wert1, double wert2){			// Hier werden die Befehlehe zum Rechnen geg.
 if ("+".equals(rechenOperator)) wert1 = wert1 + wert2;
 else if ("-".equals(rechenOperator)) wert1 = wert1 - wert2;
 else if ("*".equals(rechenOperator)) wert1 = wert1 * wert2;
 else if ("/".equals(rechenOperator)) wert1 = wert1 / wert2;
 else if ("\u221a".equals(rechenOperator)) wert1 = Math.sqrt(wert1);
 else if ("x²".equals(rechenOperator)) wert1 = wert1 * wert1;
 else if ("%".equals(rechenOperator)) wert1 = wert1 / 100;
 else wert1 = wert2;
 return wert1; 
 
 // Ende der Berechnung
 
 // Ende des Applets

 }
 }
 
Zuletzt bearbeitet:

eRaaaa

Top Contributor
Gibts spezielle Zeilen die du nicht verstehst? Hier wird dir sicherlich niemand jetzt das komplette Programm von a-z erklären wollen...was verstehst du nicht?
 

Ibet

Mitglied
29 bis 32; 105 bis 112 verstehe ich schon das ihr das nicht machen wollt wollt ich auch nicht
 
Zuletzt bearbeitet:

Appleleptiker

Mitglied
[JAVA=29]
Panel panelTaschenR = new Panel ();[/code]

Panels dienen der Strukturierung einer GUI.

[JAVA=30]
panelTaschenR.setLayout (new BorderLayout(0, 10));[/code]

Ebenfalls Werkzeuge für GUI-Gestaltung. Weitere Informationen:
Java Standard: Grafische Oberflächen mit Swing: java awt LayoutManager: java awt BorderLayout ? Wikibooks, Sammlung freier Lehr-, Sach- und Fachbücher

[JAVA=31]
panelTaschenR.add("Center", text);[/code]

Center ist hier die Positionierung des Textfeldes aus Zeile 25.
 

Ibet

Mitglied
Eine Frage habe ich noch und zwar handelt es sich um Zeile 25-27 , 64-68. Wäre nett wenn ihr mir das erklären könntet.

mfg Ibet
 

MonsterBit

Mitglied
Java:
 text = new TextField("");
 text.setForeground(Color.BLACK);
 text.setEditable(false);

Also: In der ersten Zeile wird ein neues Textfeld deklariert. Dann wird in der zweiten Zeile die Schrift des Textfeldes auf schwarz gestellt. Und in der letzten Zeile, wird festgelegt, dass man in diesem Textfeld nichts mehr reinschreiben kann, oder den Text, der schon drin steht, nicht mehr verändern kann.

Java:
wert1 = 0.0d;
 rechenOperator = "";
 wert2 = 0.0d;
 text.setText("0");
 isFix = true;
Ja, erklärt sich doch eingentlich von selbst. In diesen Zeilen werden den Variablen Werte zugewiesen. Da gibst doch eingentlich nichts nicht zu verstehen;). Mit text.setText("0") wird bewirkt, dass das Textfeld eine 0 anzeigt.
 

kooli

Neues Mitglied
Hallo, leute ich lese manchmal ein paar themen durch und ich hatte schon öfters mal ein paar fragen aber ich wollte mich nicht anmelden und als gast wird man ja meisten nicht wahr genommen also habe ich mich angemeldet, damit ich fragen kann ob mir jemand die Zeile 103-114 erklären kann

vielen dank im vorraus kooli
 

Kekzii

Mitglied
Java:
 // Operationen
 
 else if (("+".equals(arg)) | ("-".equals(arg) | ("\u221a".equals(arg) | ("\u03c0").equals(arg) | ("x²".equals(arg)))
 | ("*".equals(arg)) | ("/".equals(arg)) | ("%").equals(arg) | ("=".equals(arg)))){
 sText1 = text.getText();
 wert2 = (Double.valueOf(sText1)).doubleValue();
 wert1 = Calculation(rechenOperator, wert1, wert2);
 Double dTemp = new Double(wert1);
 sText2 = dTemp.toString();
 text.setText(sText2);
 rechenOperator = (String) arg;
 isFix = true;
 }


So wie ich das sehe wird hier nur überprüft welcher Rechenoperator ausgewählt wurde und danach wird berechnet => Calculation(String,double,double)

Ausserdem funktioniert PI nicht
Hab mir das Programm noch nicht so genau angesehen deswegen kann ich nicht sagen woran es liegt :)
 

Neue Themen


Oben