Zum Menü springen Zum Inhalt springen

iamBlog

Java–Python: Summierer

25.10 2009 19:28

Da dachte man, man hätte Java hinter sich gebracht und BÄM kommt es wieder und bringt sein komischen Kumpel Python gleich mit. Beide gut drauf, beide noch ziemlich jung und sturmfreie Bude im eclipse. Viel Zeit und willige Variablen, was soll man sagen ... Riesen Sauerei und wir müssen es bereinigen.

Die Aufgabenstellung zum Summierer sieht vor, dass Zahlen-Eingaben von der Tastatur eingelesen und nacheinander auf addiert werden sollen...

Java

Selbst in Java wären es nicht viele Zeilen Code, doch wollen wir zumindest eine mehrstellige Zahl aus der Konsole einlesen können die der Summierer verwenden soll, dann sollte man dem Programm zumindest ein paar Funktionen "spendieren" die das Einlesen von der Tastatur vereinfachen. In unserem Fall verwenden wir dazu drei imports.

import

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

Mit den dadurch gewonnenen Funktionalitäten lässt sich ein BufferedReader erzeugen, sodass wir insgesamt drei Variablen haben, auf die wir in unserem Programm zugreifen und mit arbeiten können.

double ergebnis;
String input;
BufferedReader read;

Die "main" missbrauchen wir nun um eine Endlosschleife des Tastaturlesens aufzurufen, in der wir "versuchen" aka try die Eingabe von einem String in eine Zahl vom Typ float zu verwandeln, um sie daraufhin unserem Gesamtwert ergebnis hinzuzufügen. Sollten wir damit keinen Erfolg haben (weil allem Anschein nach die Eingabe fehlerhaft war, so soll ein entsprechender Fehlertext erscheinen.

main

while(true){
    input=read.readLine();

    try{
        ergebnis+=Double.parseDouble(input);
    }
    catch(java.lang.NumberFormatException e){
        System.err.println("Falsche Eingabe "+input+" wird ignoriert.");
    }
    System.out.println("Aktuelles Ergebnis: "+ergebnis);
}                             


"One down, one to go."


Python

Die Schwärmereien haben einen Grund und der "Zeit" Kurs würde sich wahrscheinlich auch freuen, denn Reduktion ist das A&O von Python, zumindest wenn man sich den dazugehörigen Quellcode des Programms einmal ansieht.

ergebnis = 0

while True:
    try:
        eingabe=input()
        ergebnis += eingabe
        print ergebnis
    except:
        sys.stderr.write("Falsche Eingabe wird ignoriert.") 

Alles in Allem sieht ja Python gar nicht so übel aus, aber Java>Python und wer dabei bedenken haben sollte, soll erst einmal eine lustigen/humorvollen Joke über Python finden, sonst gibts da gar nichts zu Diskutieren...

Kommentare

  1. Noch keine Kommentare vorhanden.

Nächster Eintrag: i1.Soft: Typumwandlung und Kontrollstrukturen

Vorheriger Eintrag: i1.Soft: Zahlen und Operatoren

Über den iamBlog

Der iamBlog ist von und für Studenten der FH Augsburg und alle Leute die sich für Design, Medien und Multimedia interessieren.

Namensgebend war der Studiengang InterAktive Medien an der FH Augsburg.

Der Blog befindet sich Moment noch im Aufbau. Wir entschuldigen uns für eventuell fehlende Funktionen und den ein oder anderen Fehler im System.

Die neuesten Links

Kategorien

Das neueste Design

Avant von pichfl

Zum Auswählen eines Designs einfach oben links auf den Button Hintergrund ändern klicken.

Feeds

Die Einträge im Blog lassen sich als Atom-Feed abonnieren. Außerdem gibt es einen kombinierten Atom-Feed, der Blogeinträge und Links enthält.
Diese Feeds werden z.B. von Browsern wie Safari oder Mozilla Firefox, Newsreadern wie NetNewsWire oder Feadreader oder Onlinediensten wie Google Reader unterstützt und werden automatisch aktualisiert, wenn neue Einträge im iamBlog vorhanden sind.

Werbung

Disclaimer

This page will never work with Internet Explorer. If you use Internet Explorer to view this page, all styles and features are deactivated. Use Firefox, Safari or Opera to see all the beautiful colours of the internet.