Java Subtraktion zweier Zahlen - Variable definieren

3 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet

Okay, da mangelt es noch ordentlich an Verständnis.

Also: Programme werden von oben nach unten abgearbeitet. Wenn du das Ergebnis (Variable ergebnis) schon berechnest, bevor du die tatsächliche Eingabe hast, dann bekommst du natürlich ein konstantes Ergebnis, nämlich ergebnis (9) = erste_zahl (14) - zweite_zahl (5). Du musst das Ergebnis also berechnen, nachdem du die Eingabe einliest. Die Eingabe liest du über sub.nextDouble() ein und weist sie einer Variable eingabedouble, bzw. eingabezweidouble zu. Das Ergebnis ergibt sich aus der Subtraktion dieser beiden Zahlen und nicht aus den ersten beiden Konstanten erste_zahl und zweite_zahl. Nach der Eingabe musst du also double ergebnis = eingabedouble - eingabezweidouble berechnen und ausgeben.


LiLiwantsGF  14.03.2014, 11:00

Stimmt schon was du sagst, aber in dem Beispiel oben wäre die Reihenfolge auch vollkommen irrelevant, da es verschiedene Variablen sind "erste_zahl" und "eingabedouble" ;)

0
blauegruetze  14.03.2014, 11:02
@LiLiwantsGF

Das mag uns bewusst sein, aber ich glaube luxuryX1 war/ist das nicht so ganz klar, daher die Erwähnung. ;)

0
LiLiwantsGF  14.03.2014, 11:06
@blauegruetze

Vllt gehört luxury zu denen, die sich von Variablen nur verwirren lassen und besser mit Registern programmieren lernen würden...?

Hochsprachen verwirren eben nur --> Streiche JAVA, setze Assembler

0
JDraft  14.03.2014, 11:17
@blauegruetze

Und wenn's mit Assembler auch nichts wird, dann schreibt man das Programm einfach in binärer Form. Keine Klassen keine Variablen oder konstanten, keine Methoden... einfach nur Nullen und Einsen, einfacher gehts doch gar nicht mehr ^^

1
luxuryX1 
Beitragsersteller
 14.03.2014, 13:31
@JDraft

das wäre wohl doch zu aufwendig :D

0
luxuryX1 
Beitragsersteller
 14.03.2014, 10:57

ja sorry :( ich hab wirklich null ahnung von programmiern

0

Evtl. hilft es dir ja etwas weiter, wenn du deinen Quellcode mit Kommentaren ausstattest, dann kannst du selber nochmal schriftlich festhalten, was du da eigentlich grade machst.

Das könnte dann z.B. so aussehen:

public static void main (String [] args){
    
    // hier erstelle ich eine Variable, in der ich
    // das speichern kann, was ich in die Konsole eingebe
    Scanner sub = new Scanner(System.in);
 
    // hier erstelle ich eine Variable und weise ihr den Wert "14" zu
    double erste_zahl = 14;
    
    // hier erstelle ich eine weitere Variable und weise ihr den Wert "5" zu
    double zweite_zahl = 5;
    
    // hier subtrahiere ich den Inhalt von "erste_zahl" (14) und den Inhalt
    // der Variable "zweite_zahl" (5) und weise der erstellten Variable
    // "ergebnis" das Ergebnis der Subtraktion (9) zu
    double ergebnis = erste_zahl - zweite_zahl;
    
    // hier gebe ich Text aus
    System.out.println("Geben Sie eine Zahl ein: ");
    
    // hier kann ich einen Wert in die Konsole eingeben
    // und das was ich eingegeben habe wird in die Variable
    // "eingabedouble" gespeichert
    double eingabedouble= sub.nextDouble();
    
    // hier gebe ich wieder Text aus
    System.out.println("Geben Sie eine weitere Zahl ohne Komma ein: ");
    
    // hier kann ich wieder einen Wert in die Konsole eingeben
    // und das was ich eingegeben habe wird diesmal in die Variable
    // "eingabezweidouble" gespeichert
    double eingabezweidouble= sub.nextDouble();
    
    // hier gebe ich einen Text und den Inhalt der Variable "ergebnis" (immer noch 9) aus
    System.out.println("Das Ergebnis dieser Subtraktion ist: " + ergebnis);
    
}

Ich würde dir empfehlen, den Quellcode mal in einem Editor zu betrachten, der das auch alles farblich ein wenig hervorhebt (für einen besseren überblick)

9 ist doch richtig..?

Dein Text klingt als willst du:

Scanner sub = new Scanner(System.in);

double ergebnis;

System.out.println("Geben Sie eine Zahl ein: ");
double eingabedouble= sub.nextDouble();
System.out.println("Geben Sie eine weitere Zahl ohne Komma ein: ");
double eingabezweidouble= sub.nextDouble();
ergebnis = eingabedouble - eingabezweidouble;
System.out.println("Das Ergebnis dieser Subtraktion ist: " + ergebnis);

}


luxuryX1 
Beitragsersteller
 14.03.2014, 10:56

wow danke (:

0
LiLiwantsGF  14.03.2014, 10:58
@luxuryX1

Verstehst du, was jetzt der Unterschied ist?

Da oben wurde vollkommen korrekt 9 ausgegeben, weil du 14-5 gerechnet hast...

Lass dich von dem "Code" nicht verunsichern, versuche den Sinn jedes Ausdrucks zu verstehen, dann hilft dir der gesunde Menschenverstand.

Ich kann auch kein Java ;)

0
verreisterNutzer  14.03.2014, 12:08
@LiLiwantsGF

Jup. Der Computer macht genau das, was du ihm sagst, und nichts anderes. Wenn du allerdings das was du ihm sagst selbst nicht verstehst, dann wird's problematisch ;)

Besorg dir besser mal ein gutes Buch das dir nicht nur im Fachidioten-Stil die Syntax einer Programmiersprache erläutert, sondern dir obendrein das "Programmieren" von Grund auf erklärt. Mit Tutorials aus dem Netz kommt man mangels Vollständigkeit meist nicht weit, da ist das Geld für ein etwas teureres Fachbuch durchaus gut angelegt wenn's einem ernst ist.

0