1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

Probleme mit der Javaprogrammierung

Discussion in 'Programmieren' started by Sparks911, Aug 28, 2010.

Thread Status:
Not open for further replies.
  1. Sparks911

    Sparks911 Kbyte

    Hallo,
    ich habe heute eine ganz wichtige und dringende Frage an alle die mit Java programmieren. Ich stelle diese Frage im Auftrag meiner Tochter, die sich gerade mit Java-Programmierung befasst. Da ich davon keine Ahnung habe, kann ich ihr nicht weiterhelfen.

    Es geht um die ganz einfache Rechenoperation Subtraktion.

    Folgender Quellcode steht:

    /**
    *
    * description
    *
    * @version 1.0 from 28.08.2010
    * @author
    */
    public class Subtraktion {
    // Anfang Attribute

    private int minuend = 0;
    private int subtrahent = 0;
    private int differenz = 0;
    // Ende Attribute

    public Subtraktion() {
    this.minuend = 0;
    this.subtrahent = 0;
    this.differenz = 0;
    }

    // Anfang Methoden
    {


    }

    public void setMinuend(int minuend) {
    this.minuend = minuend;
    }

    public void setSubtrahent(int subtrahent) {
    this.subtrahent = subtrahent;
    }

    public int getDifferenz() {
    return differenz;
    }

    private void sub() {

    }

    // Ende Methoden
    }

    Soweit alles in Ordnung.
    Aber was muss noch eingetragen werden, damit im Endeffekt bei der Eingabe von Zahlen im Diagramm auch wirklich subtrahiert wird?
    Denn bis jetzt tut sich bei der Eingabe überhaupt nichts.

    Ich wäre über eine schnelle Antwort sehr dankbar.

    Mfg
     
  2. HanneZzz

    HanneZzz Byte

    Ei, ei ... Töchterlein sollte es doch eigentlich bringen.
    Aber da man an einem fertigen Beispiel am besten lernt,
    war ich so frei und habe den Quellcode zu einem funktionierenden
    ergänzt.
    Bitte so übernehmen ... in deinem vorgeschlagenen Quellcode waren auch
    weitere kleinere Fehler drin, wie unterschiedliche Variablennamen
    (subtrahend und subtrahent, etc.)

    /**
    *
    * Subtraktion zweier ganzer Zahlen
    *
    * @version 1.0 from 29.08.2010
    * @author Dein Name
    */

    public class Subtraktion {

    // Anfang Attribute
    private int minuend = 0;
    private int subtrahend = 0;
    private int differenz = 0;
    // Ende Attribute

    public Subtraktion() {
    this.minuend = 0;
    this.subtrahend = 0;
    this.differenz = 0;
    }

    // Anfang Methoden

    public void setMinuend(int minuend) {
    this.minuend = minuend;
    }

    public void setSubtrahend(int subtrahend) {
    this.subtrahend = subtrahend;
    }

    public int getDifferenz() {
    return this.differenz;
    }

    private void sub() {

    // Hier findet die eigentliche Subtraktion statt
    this.differenz = this.minuend - this.subtrahend;

    }


    // Damit überhaupt etwas passiert, muss noch eine
    // main-Funktion definiert werden.
    public static void main(String args[]) {

    // Referenzieren des Objektes
    Subtraktion DifferenzErmittler = new Subtraktion();

    // Setzen der eigentlichen Attribute, was man eigentlich
    // schlauerweise schon bei der Referenzierung macht.
    DifferenzErmittler.setMinuend( 10 ); // Übergabe des Wertes 10
    DifferenzErmittler.setSubtrahend( 4 ); // Übergabe des Wertes 4

    // Durchführen der eigentlichen Rechenoperation
    DifferenzErmittler.sub(); // Rechnung: 10 - 4 = 6


    System.out.println( DifferenzErmittler.getDifferenz() ); // Gibt die Zahl 6 aus

    }
    // Ende Methoden

    // Ende der Klasse
    }


    Das Beispiel funktioniert. Ich habe es getestet.
    Als Subtraktion.java auf deinem Rechner abspeichern.
    Wie du es dann kompilierst, weißt du hoffentlich.

    Schönen Gruß und viel Spaß deiner Tochter beim Java-Lernen.
    Nicht verzagen, wir haben alle einmal angefangen.
     
  3. Sparks911

    Sparks911 Kbyte

    Danke Dir für die schnelle Antwort. :)

    Zur Entschuldigung meiner Tochter muss ich noch anmerken, dass sie erst zwei Unterrichtsstunden gehabt hat wovon knapp die hälfte Einführung war. In der Schule soll es aber schon funktioniert haben. Aber beim Abspeichern um es zu Hause weiter zu bearbeiten(Hausaufgabe) muss irgendwas schief gelaufen sein. Denn das Programm lief (irgendwie), aber der Quelltext war ein völlig anderer, d.h. nicht der, der er sein sollte.

    Hier ist der fehlerhafte Quelltext:

    [Files]
    File0=Addition.java

    [Box: - Addition]
    X=20
    Y=40
    MinVis=0

    [Object: - addition1]
    X=0
    Y=231
    MinVis=0
    Name=addition1
    Typ=Addition

    [Object: - addition2]
    X=175
    Y=243
    MinVis=0
    Name=addition2
    Typ=Addition

    [Diagram]
    OffsetX=0
    OffsetY=0
    ShowAssoc=1
    Visibility=0
    ShowParameter=0
    SortOrder=0
    ShowIcons=0
    Fontname=MS Sans Serif
    Fontsize=10

    [Connections]
    V0=addition1 # Addition # 8
    V1=addition2 # Addition # 8

    Mfg
     
  4. HanneZzz

    HanneZzz Byte

    hmm ...
    Das Programm scheint mir zwei Zahlen addieren zu wollen.
    Was du hier siehst, ist lustiger Bytecode und ist eine Zwischenstufe des Quellcodes (siehe die ersten beiden Beiträge) zum Maschinencode.

    Interessant wäre, wie deine Tochter an diesen Code rangekommen ist.
    Normalerweise liest ein gewöhnlicher Texteditor diese Dateien nicht einfach so ein.
    Wahrscheinlich war in jenem, in der Schule benutzten Editor, gleich ein Disassambler integriert und Tochtern hat statt der *.java-, die *.class-Datei erwischt.

    Aber der Inhalt dieser Datei ist für den Anfänger eher uninteressant.
    Dieser Quelltext ist übrigens nicht fehlerhaft.

    Gruß HanneZzz
     
  5. Sparks911

    Sparks911 Kbyte

    Keine Ahnung, weiß sie selbst nicht. Jedenfalls will sie, sobald sie ihren Lehrer erwischt, ihn mal dazu berfragen. Die Antwort werde ich dann dir hoffentlich mitteilen können.

    Gruß
     
  6. root

    root Megabyte

    Eher nicht. http://en.wikipedia.org/wiki/Java_bytecode#Example
    Für mich sieht das aus wie Formulardaten, die von einer IDE erstellt worden sind und aus denen die grafische Oberfläche des Programms aufgebaut wird.
     
  7. Sparks911

    Sparks911 Kbyte

    Wie ich schon vermutet habe, der Fehler ist beim Speichern aufgetreten. Da das Programm in der Schule schon funktioniert hat, hat meine Tochter zum Unterrichtsschluss den Quelltext der Grafik (grafischen Anzeige) statt des Programms gespeichert und damit den Quelltext des Programms überschrieben. Das kann ja dann auch nicht funktionieren, hat der Lehrer gesagt.

    Also nochmals Danke
     
Thread Status:
Not open for further replies.

Share This Page