Taschenrechner


#1

Hallo Leute.

Ich heiße Michael und bin neu hier. Ich bin gerade dabei Java zu lernen, zumindest ein bisschen Wissen anzueignen. Ich mache einen Fernlehrgang und bin gerade dabei die Hausübungen zu lösen. Also zu meiner Frage. Ich muss ein Java-Skript für einen Taschenrechner schreiben, der Rechenoperationen ausführt und mir das Ergebnis in einer AlertBox im Browser anzeigt. Hat wer einen Tipp, wie ich damit anfangen soll. Ich hab noch die HTML-Datei des Taschenrechners. Kann man diese dafür verwenden?
Bitte um Hilfe.

LG Michael


#2

Ok, vorweg Java != Java Script ;), deswegen hab ich das Thema verschoben. Aber ich denke wir können dir hier trotzdem helfen. Poste doch mal, was du schon versucht hast und woran du scheiterst.


#3

Hallo Tomate_Salat!

Sorry für meine unprofessionelle Ausdrucksweise. Ja ich meinte Javascript. Ich habe schon eine Taschenrechner.html und Taschentechner.pl geschrieben. Die funktionieren einwandfrei. Ich poste mal meine Datei. Es geht mir darum, dass das Ergebnis einer Berechnung in einer AlertBox ausgegeben wird.

<html>
<head>
<title>Taschenrechner</title>
</head>
<body>
<h1>Taschenrechner</h1>
<form action="/cgi-bin/Taschenrechner.pl" method=post>
<p>Zahl 1: <input size="4" maxlength="3" name="Zahl1">
<br>
Zahl 2: <input size="4" maxlength="3" name="Zahl2">
<br>
Rechenart: <input size="2" maxlength="3" name="Rechenart">
<br>
<input type="SUBMIT" value="Berechnen">
<input type="reset" value="Reset">
</p>
</form>
</body>
</html>


#4

ein JavaScript-Taschenrechner ist wiederum was anderes, siehe hier bzw. Quelltext der ganzen Seite des dort verlinkten Beispiels
https://wiki.selfhtml.org/wiki/JavaScript/Anwendung_und_Praxis/Taschenrechner

was ist .pl nochmal genau für eine Programmiersprache?
ist das ‘cgi-bin’ für lokalen Aufruf gedacht oder willst du einen Webserver im fernen Internet erreichen, kommt die Seite mit diesem HTML selber von dort?


Taschenrechner beiseite gelassen und nur einfachere Hello World-Beispiel + einfache Formulare betrachtet,
weißt du grundsätzlich wie es geht, kannst du schon andere Formulare erfolgreich programmieren und abschicken?
(in der aktuell relevanten Konstellation mit .pl usw.)


edit:

oh, lesen will gelernt sein…

vielleicht diese Richtung:
javascript - How do I capture response of form.submit - Stack Overflow

wobei

You won’t be able to do this easily with plain javascript. […]

If you really wanted to get the response in Javascript (without the page refreshing), then you’ll need to use AJAX, […]

aber siehe auch die weiteren Antworten dort


#5

Also “.pl” steht für perl. Den Taschenrechner, den du verlinkt hast, hat ja css dabei. Irgendwie muss es doch auch ohne css gehen. Ich hab eigentlich null Ahnung, wie ich das Ganze umsetzen soll. Die html-Datei und die dazugehörige .pl-Datei wird nur local abgerufen. Und die Javascript-Datei, die ich schreiben soll, soll auch nur local aufgerufen werden.


#6

man kann alle styles auch streichen…, falls das als css zählt,
Formatierung dann rudimentär oder auf andere Weise

aber wenn man will dann natürlich auch jede Frage beliebig kompliziert machen
‘ein Auto bitte, aber ohne Verwendung von Gummi und Kabeln’


falls das .pl weiterhin aufzurufen ist wie in deinem Code vom Posting #3 dann ist der komplette JavaScript-Rechner aber eh was anderes,
wie submit() des Forms per JavaScript auszugeben ist, ist ja im zweiten Link von mir das Thema


#7

Ganz vereinfacht kann das erst mal so aussehen:

<!DOCTYPE html>
<html lang="de">
  <head>
     <title>Ausgabe in einer Alter-Box</title>
     <script language="JavaScript">
        var a = 5;
        var b = 2;
       alert(a +"+"+ b +"="+ (a+b));
     </script>
  </head>
  <body>  
  </body>
</html>

Ich nehme nun an, dass der gesamte Rechner in eine Alert-Box soll? Was hast du bisher fertig?

*** Edit ***

Ich weiß nicht, ob ich dich missverstehe…
Das Ergebnis wird doch in einer Alert-Box ausgegeben.

Hast du ein Bild vom Sollzustand/Endergebnis deines Programms?


#8

[QUOTE=L-ectron-X]Ganz vereinfacht kann das erst mal so aussehen:

<!DOCTYPE html>
<html lang="de">
  <head>
     <title>Ausgabe in einer Alter-Box</title>
     <script language="JavaScript">
        var a = 5;
        var b = 2;
       alert(a +"+"+ b +"="+ (a+b));
     </script>
  </head>
  <body>  
  </body>
</html>

Ich nehme nun an, dass der gesamte Rechner in eine Alert-Box soll? Was hast du bisher fertig?[/QUOTE]

Hallo L-ectron-x

Ja das sieht ganz gut aus, aber ich brauch nur die Ausgabe des Ergebnisses in einer Alert-Box.
Ich hab noch gar nichts fertig, da ich ja noch gaaaaaaaaanz am Anfang von Javascript stehe.

LG


#9

nebenbei: der Freischalt-Teufel hat zugeschlagen,
dadurch, dass Posting #7 von Michael47 zwischendurch nicht freigeschaltet war,
wurden zwei Postings von L-ectron-X, eins davor und eins danach, nach Standard zusammengelegt

nun zitiert also Michael47 aus einem späteren Posting,
und bei diesem späteren Posting steht auch noch eine edit-Zeit von 13:17, viel früher, dran :wink:


#10

Hallo!

Ich versuch´s nochmal zu erklären.
Man ruft eine HTML-Datei im Browser auf. Taschenrechner erscheint. Man gibt die Zahlen und die Rechenoperationen ein und lässt es dann berechnen. Ich glaub dann schaltet der Browser um und die Alert-Box erscheint mit dem Ergebnis. Ich hoffe ich verwirre dich jetzt nicht ganz.


#11

ist das beliebige zu erfüllende Wunschanforderung oder bist du hierbei zwingend beim Aufruf des Perl-Skriptes im submit?
so allgemein geschrieben wird davon nichts klarer,
dass es um Browser und Taschenrechner geht ist schon von Anfang an recht deutlich und ja nirgendwo in Frage gestellt

‘umschaltender Browser’ ist ein ungünstiger Fachbegriff…

wie man aus Submit an andere Seite, Internet oder lokal, etwas mit Alert anzeigen kann steht glaube ich in meinen Link
javascript - How do I capture response of form.submit - Stack Overflow

alternativ gibt es reine JavaScript-Lösung,
Berechnung und Anzeige ohne dass der Browser einen Request in die Welt (oder zu anderer lokaler Seite) schicken muss


#12

Hallo SlaterB

Also bevor ich mich noch länger lächerlich mache schreibe ich jetzt mal die gewünschte Aufgabe des Lehrbriefs hier her: Schreiben Sie ein Javascript-Programm, welches gleich dem Taschenrechner-Beispiel (was ich hier gepostet hab) Berechnungen je nach übergebenen mathematischem Operator ausführt und in einer “alert-Box” ausgibt!

So jetzt ist es fachgerecht ausgedrückt.

LG Michael :smiley:


#13

Aufgaben sind immer ein Teil Interpretation/ Spekulation, etwa ob das Perlscript noch beteiligt ist,
aber ich bin dann im Moment für eine reine JavaScript-Lösung a la
https://wiki.selfhtml.org/wiki/JavaScript/Anwendung_und_Praxis/Taschenrechner
(andere sicher auch schnell zu finden, es gibt Suchmaschinen)

mit Ausgabe per Alert statt
window.document.Rechner.Display.value = x;
in der Funktion Ergebnis() (edit: und paar mehr Stellen, je nach endgültigen Aufbau), was dich sicher nicht überfordern dürfte

aber ob es hilfreich ist, so eine fertige Lösung zu nehmen?
lieber selber machen, ohne es zu lesen damit unbeeinflusst,
freilich braucht es dafür allerlei Grundkenntnisse zu Formular, Werte holen, überhaupt Funktionen schreiben und aufrufen innerhalb JavaScript usw.,
das kann hier kaum alles beigebracht werden falls noch nicht bekannt,
auch nicht der Taschenrechner in einer exklusiven neuen Version geschrieben werden…

edit: ob man die nette JavaScript-Funktion eval() verwenden will oder jedes + selber rechnet ist auch noch die Frage,
und Taschenrechner haben ja verschiedene Aufbauten, wenn zweite Zahl eingetippt erste irgendwo intern gemerkt oder nicht,
da ist freilich noch viel mehr möglich als im Beispiel in meinem Link, suche evtl. mehr per Suchmaschinen

edit: wie genau der Funktionsumfang der Perl-Variante ist weißt nur du, danach sicher richten


#14

Soweit ich die Aufgabenstellung der HÜ verstehe wird das Perl-Skript nicht verwendet. Ich denke mal das bezieht sich sicher nur auf die normale Javascript -Variante.