Einfacher Taschenrechner

Status
Nicht offen für weitere Antworten.

Bort

Mitglied
Guten Tag!

Ich bin gerade am machen meiner Algo Hü.

Hab euer Forum schon vor etwa ner Woche entdeckt.

Meine Hauptsächliche bitte wäre eigentlich nur, ob ich wo in meinem Code etwas verbessern kann. Da ich eigentlich keine Java erfahrung hab. Deswegen bin ich mir hierbei auch eher unsicher. Vom Code und der Ausführung passt eigentlich alles, deswegen stell ich jetzt die Spezifikation nicht rein.

Aber evtl. sieht jemand von euch eine Verbesserung.

Augenmerk bitte bei dem folgenden:
Case(0|1|2|3...|9)
Gibt es dafür eine Vereinfachung?

oder

return cache
ist das korrekt? oder sollte man write verwenden und wie wird write verwendet? "write cache"?

Über eure Hilfe wäre ich dankbar.


Code:
Int keyPress(↓char key){
	Static int eingabe
	Static int cache
	Switch (key) {
		Case(0|1|2|3...|9){
			eingabe=eingabe*10+eingabe
		}
Case (C){
			eingabe = 0
			cache = 0
		}
		Case(+){
			cache=eingabe+cache
			return cache
		}
	}
}

PS.: Habe die 5 einhalb Regeln gelesen. Wenn mir hier keiner weiterhelfen kann/will macht das auch nichts. gibts halt ein paar punkte abzug. ich werds überleben.

Danke schon im vorhinein,
mfg bort
 
S

SlaterB

Gast
welche Programmiersprache ist das? Java jedenfalls nicht von der gesammten Syntax her

Case(0|1|2|3...|9) gibts in Java auch nicht
 

Bort

Mitglied
Nun ja, es ist Jana. Eine Ableitung von Java. Jedoch sollte sich der Code von Java, was ich weis nur von den ";" am Ende unterscheiden und wenigen Kleinigkeiten.
Im Case soll es heißen --> 1 Oder 2 Oder 3 ...

Das habe ich aus wikipedia for jana ( http://de.wikipedia.org/wiki/Jana_(Informatik) ) mit dem |

Wie würdest du in Java diesen Case formulieren?
 

Noar

Bekanntes Mitglied
Hi JANA ist _keine_ Programmiersprache, sondern, wie auch die von dir genannte Wikipedia weiß:

Jana (Java-Based Abstract Notation for Algorithms) ist eine in der Informatik gebräuchliche Beschreibungssprache zur Formulierung von Algorithmen, ein so genannter Pseudocode. Sie ist an die Programmiersprache Java angelehnt.

In Java gibt es dein Case-Konstrukt natürlich irgendwie schon.
Dein Beispiel müsste glaub ich, ungefähr so aussehen:

Code:
   switch (key) {
      case '0' : case '1': ... : case '9': 
         eingabe=eingabe*10+eingabe;
         break;
      case 'C'
         eingabe = 0;
         cache = 0;
         break;
      case '+':
         cache=eingabe+cache;
   }
 

Marco13

Top Contributor
Noar hat gesagt.:
Hi JANA ist _keine_ Programmiersprache, sondern, wie auch die von dir genannte Wikipedia weiß:
Code:
      case '0' : case '1': ... : case '9':
Was so viel heißen soll wie
Code:
      case '0' : case '1':  case '2': case '3': case '4': case '5': case '6': case '7': case '8':  case '9':
(Das mit den drei Punkten ist nämlich AUCH nur Pseudocode :wink: )

Besser wäre in diesem Fall aber vmtl, den key mit if's abzufragen:
Code:
if (key => '1' && key <= '9') 
{ 
    machWas();
}
else
{
    // Hier evtl. noch ein Switch....
}

"Bort"?! Wer heißt denn so? Sind wir hier in Itchy&Scratchy-Land oder was?! :wink:
 

Bort

Mitglied
Oh jetzt ist mir ein weiteres Lichtlein aufgegangen.

Das heißt was wir hier machen ist eigenltich kein Programmieren. Sondern nur unsere gedanken zu einem Text in einer unwirklichen Sprache niederschreiben.
Das ist gut zu wissen, dann hat man ja eigentlich sehr viele Freizüge.

Heisst das jetzt wenn ich noch weitere fragen zu späteren HÜs häte, dann bin ich auch in diesem Forum "irgendwie" falsch?

"Bort"?! Wer heißt denn so? Sind wir hier in Itchy&Scratchy-Land oder was?!
Ich hab aber noch ein Namensschild bekommen ;)
 

Noar

Bekanntes Mitglied
@ Marco13:
Hast natürlich Recht. Hätte das ausschreiben sollen...


@ Bort:
Kannst schon weiter deine Fragen stellen. Der ein oder andere wird sich schon finden, der Ahnung hat.
 
Status
Nicht offen für weitere Antworten.

Oben