Wieso kann man nicht dividieren?

Status
Nicht offen für weitere Antworten.

philipp

Mitglied
Hi
Also folgender Code:

Code:
double ergebniss;
ergebniss = (5/3)*100;
System.out.println(ergebniss);

ER gibt mit immer 100 aus, obwohl 5/3*100 ja ungefähr 166 sein müssten. ich hab extra schon ne double variabel genommen, weil ich dachte er braucht dafüt ja auch kommazahlen.
was hab ich denn falsch gemacht?
 

Malcolm X

Bekanntes Mitglied
Code:
public class Div 
{	
	public static void main(String args[])
	{
		double ergebnis;
		ergebnis = (5.0/3.0) * 100.0;
		System.out.println(ergebnis);
	}
	
}
 

Leroy42

Top Contributor
philipp hat gesagt.:
was hab ich denn falsch gemacht?

Vorher zuviel in PHP programmiert?

In Java (C, C++, ...) wird strikt zwischen Ganzzahl- und Fließkomma-Berechnungen
unterschieden:

Zuerst wird der gesamte, rechts von dem Gleichheitszeichen stehende, Ausdruck -
genauer jeder Teilausdruck - in der Form des höchsten Zahlentyps
(in diesem Fall Integer) ausgerechnet.

Erst danach wird auf double erweitert.

Lösungen:

Code:
ergebniss = (5.0/3) * 100;
Code:
ergebniss = (5/3.0) * 100;
Code:
ergebniss = ((double) 5/3) * 100;
 

0xdeadbeef

Top Contributor
Grundkenntnisse der Integerarithmetik sind oft hilfreich.

"5 / 3 * 100" ergibt 1 * 100 = 100
"5 * 100 / 3" ergibt 500/3 = 166

Oder um es mal mathematisch auszudrücken: Bei Integerarithmetik ist die Division in aller Regel nicht assoziativ.
 

philipp

Mitglied
hei cool danke für die schnellen antworten :)
Vorher zuviel in PHP programmiert?
jepp^^ sogut wie nur in php :)

ok das hab ich verstanden, aber das war nicht mein eigentliches probelm:

Code:
for(i=0; i < 26; i++)           //in % umrechnen
    {
        int anz = anzahl[i];
        int len = text.length;
        double ergebniss;
      System.out.println(anz);
      System.out.println(len);
      ergebniss = (anz/len) * 100;
      System.out.println(ergebniss);
    }

das array "anzahl" beinhaltet 26 stellen, also 0 ist A und 25 ist Z...quasi einmal das Alphabet. vorher habe ich aus einem text die buchstaben gelesen und die häufigkeit steht halt in diesem array.
so jetzt möchte ich, dass diese werte in dem array in % umgerechnet werden.
aber auch das kriegt er nicht hin^^

//edit: achso würde das evt so gehen?

Code:
ergebniss = anz * 100/len;
 

L-ectron-X

Gesperrter Benutzer
Da die Division laut Rechenregeln vor der Multiplikation liegt ist auch folgendes gültig:
Code:
ergebnis = (double) 5 / 3 * 100;
 

philipp

Mitglied
ja sry, mit doppel s... oups *peinlich*
jo hab meine frage schon selber beantwortet^^

danke nochmal für die antworten, is ja echt ne super community hier :)
 

Leroy42

Top Contributor
philipp hat gesagt.:
Vorher zuviel in PHP programmiert?
jepp^^ sogut wie nur in php :)

Dann ist's bei mir genau umgekehrt. :toll:

Ich habe gestern Abend angefangen, mich mal durch ein
PHP-Tutorial zu wühlen;
man will ja schließlich auch mal gucken, was sonst noch...

0xdeadbeef hat gesagt.:
Urgl, "ergebniss" mit zwei "s"

Dann hoff' ich doch mal stark, daß sowas keine
notwendige Bedingung für PHP-Progger ist! :bahnhof:
 

philipp

Mitglied
lol^^
nee also wir proggen java zur zeit im informatik kurs und wir sollen halt nen codierten text decodieren. und unserer lehrer hats gar nicht drauf und wenn ich ihn sowas frage dann guckt der nur doof... :(
dann musste ich die initiative ergreifen und hier mal anfragen und siehe, es hat geklappt :)

Leroy42 hat gesagt.:
Dann hoff' ich doch mal stark, daß sowas keine
notwendige Bedingung für PHP-Progger ist! :bahnhof:

jo ich kann dich beruhigen, es ist keine notwendige bedinung!
aber gibs zu, du hättest den rechtschreib fehler doch selber nicht gefunden *G* :D
nee ok scherz beiseite, danke nochmal für die hilfe, ich hoffe ich krieg das jetzt hin :)

Greest. philipp :)
 

Leroy42

Top Contributor
L-ectron-X hat gesagt.:
Da die Division laut Rechenregeln vor der Multiplikation liegt...

Hääh! :shock:

Die Division hat weder Priorität noch Präzedenz vor der Multiplikation.

Es klappt einfach wegen der "Links-nach-Rechts"-Abarbeitung:

Code:
var <- 5/3*100

liefert z.B. in APL und J
0.01666

Naja, mach dir nix draus: Ist halt schon Samstag :cool:
 

byte

Top Contributor
L-ectron-X hat gesagt.:
Da die Division laut Rechenregeln vor der Multiplikation liegt ist auch folgendes gültig:
Code:
ergebnis = (double) 5 / 3 * 100;

Genauer gesagt ist die Multiplikation assoziativ und somit die Reihenfolge/Klammerung wurscht. ;)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
I Methoden Wieso wird mein Array "a" verändert und meine Variable "a" nicht? Java Basics - Anfänger-Themen 4
sserio Wieso funktioniert mein Programm nicht Java Basics - Anfänger-Themen 2
sserio Wieso werden nicht alle Primzahlen bis 1000 in meine Liste gepackt ? Java Basics - Anfänger-Themen 8
sserio Wieso funktioniert mein TableView nicht /JavaFX. Java Basics - Anfänger-Themen 4
N Wieso funktioniert die Deklaration nicht Java Basics - Anfänger-Themen 3
Zrebna Umgebungsvariable Wieso wird meine verwendete JDK-Version in der Prompt nicht erkannt? Java Basics - Anfänger-Themen 6
J Fehler im Code, aber ich weiß nicht wieso! Java Basics - Anfänger-Themen 6
W Wieso funktioniert mein Switch Case nicht ?! Java Basics - Anfänger-Themen 9
F Wieso wird dieser Befehl nicht ausgeführt? (Anfänger) Java Basics - Anfänger-Themen 2
ChrisPL4Y Wieso funktioniert dieses Programm nicht? Java Basics - Anfänger-Themen 6
T Wieso kann ich das jar file nicht starten? Java Basics - Anfänger-Themen 5
A Wieso übergibt der nicht die bearbeitete txt file Java Basics - Anfänger-Themen 8
T Objektorientierte Programmierung - Kein Plan wieso das nicht funktioniert! Java Basics - Anfänger-Themen 6
A Wieso kann ich nicht auf diese Variable zugreifen? Java Basics - Anfänger-Themen 6
A Wieso funktioniert dieser Timer nicht?? Java Basics - Anfänger-Themen 3
A Wieso erscheinen die Objekte manchmal und manchmal nicht Java Basics - Anfänger-Themen 2
A Erste Schritte Wieso funktioniert diese Klasse nicht Java Basics - Anfänger-Themen 11
R Wieso funktioniert dieses Array nicht? Java Basics - Anfänger-Themen 13
X Stack mit Oberklasse, wieso funktioniert es nicht? Java Basics - Anfänger-Themen 8
M ArrayList - remove() löscht nicht! - weiß nicht wieso! Java Basics - Anfänger-Themen 8
J Regex Ausdrücke im Array - Wieso werden sie nicht erkannt? Java Basics - Anfänger-Themen 4
T JTable wird nicht erzeugt, wieso? Java Basics - Anfänger-Themen 17
E Wieso funktioniert Boolean.parseBoolean(s) nicht? Java Basics - Anfänger-Themen 9
B Erste Schritte Programm kompiliert nicht. Wieso? Java Basics - Anfänger-Themen 14
Luk10 Wieso bricht die Rekursion nicht ab? Java Basics - Anfänger-Themen 3
K Methode funzt nicht, wieso? Java Basics - Anfänger-Themen 12
C Wieso funktioniert das Array nicht? Java Basics - Anfänger-Themen 10
M Wieso funktioniert dieser simple Code nicht? Java Basics - Anfänger-Themen 9
J Wert wird überschrieben, weiß nicht wieso Java Basics - Anfänger-Themen 2
D array.toString() wieso funktioniert es nicht Java Basics - Anfänger-Themen 4
A Wieso terminiert das Programm nicht? Java Basics - Anfänger-Themen 4
U Anfänger Frage - Ausgabe funktioniert nicht - Wieso? Java Basics - Anfänger-Themen 10
S Wieso funtkioniert das SQL DELETE nicht? Java Basics - Anfänger-Themen 1
K Wieso wird "paint" nicht ausgeführt ? Java Basics - Anfänger-Themen 2
M Wieso zeichnet es nicht auf den JPanel Java Basics - Anfänger-Themen 7
M Wieso finden andere nicht die main .class Java Basics - Anfänger-Themen 20
ven000m Wieso antwortet mein Server nicht mehr (Socket Anwendung) Java Basics - Anfänger-Themen 2
M wieso fehler das array nicht iniziiert obwohl es iniziiert Java Basics - Anfänger-Themen 3
P Wieso wird der komplette Inhalt im verzeichnis nicht gelösch Java Basics - Anfänger-Themen 5
B Wieso funktioniert dieser Vergleich nicht? Java Basics - Anfänger-Themen 3
D wieso ist die combobox nicht von anfang an aktiviert? Java Basics - Anfänger-Themen 4
C Problem, wieso geht das nicht? Java Basics - Anfänger-Themen 5
G wieso ist die TextArea im Fenster nicht sichtbar Java Basics - Anfänger-Themen 3
P wieso geht das nicht. Java Basics - Anfänger-Themen 11
8 Wieso krieg ich den Thread nicht angehalten? Java Basics - Anfänger-Themen 2
S wieso wird nicht richtig geladen? Java Basics - Anfänger-Themen 11
A Wieso geht das nicht? Java Basics - Anfänger-Themen 4
P Wieso kann ich als Index für einen Array einen Char angeben? Java Basics - Anfänger-Themen 3
Ostkreuz Wieso wird die Methode nochmal aufgerufen? Java Basics - Anfänger-Themen 5
H Interface Wieso "List<String> list = new ArrayList<>[…]" Java Basics - Anfänger-Themen 4
F Wieso wird immer die falsche Mausposition angegeben? Java Basics - Anfänger-Themen 1
C Objekt1.equals(Objekt2) = immer false. Wieso? Java Basics - Anfänger-Themen 22
A Wieso bekomme ich hier zwei unterschiedliche Ausgaben? Java Basics - Anfänger-Themen 6
ZH1896ZH Wieso diese Ausgabe?? Java Basics - Anfänger-Themen 10
D Interface Wieso Aufruf aller Methoden eines Interfaces? Java Basics - Anfänger-Themen 11
H Datentypen 64 Bit passt in 32 Bit, wieso? Java Basics - Anfänger-Themen 9
L Input/Output Wieso kommt diese Ausgabe? Java Basics - Anfänger-Themen 12
H Wieso wird mir ein Fehler angezeigt? Java Basics - Anfänger-Themen 5
H Wieso öffnet sich der Texteditor? Java Basics - Anfänger-Themen 6
B Wieso wird die Zeile "column" genannt und die Spalte "line"? Java Basics - Anfänger-Themen 12
B Wieso wird hier so viel als falsch angezeigt? Java Basics - Anfänger-Themen 2
B Wieso gibt er hier nur die ungeraden Zahlen aus? Java Basics - Anfänger-Themen 5
B Wieso gibt das Programm in der Console kein Ergebnis aus? Java Basics - Anfänger-Themen 2
A Wieso charAt(0) + charAt(3) = INT-Wert? Java Basics - Anfänger-Themen 5
H NullPointerException, aber wieso? Java Basics - Anfänger-Themen 5
P Cannot find symbol, wieso? Java Basics - Anfänger-Themen 5
K Wieso muss man finale statische Variablen sofort oder eben im Konstruktor initialisieren? Java Basics - Anfänger-Themen 2
F Operatoren Wieso fliegt hier eine NullPointer Exception :( Java Basics - Anfänger-Themen 3
Z JPanel wird zweimal hinterinander gezeichnet.. Wieso? Java Basics - Anfänger-Themen 4
S Wieso wird mein JFrame transparent dargestellt? Java Basics - Anfänger-Themen 5
G Interface java.util.Comparator: Wieso muss nur die Methode compare() implementiert werden Java Basics - Anfänger-Themen 2
Z Lotto-Programm Wieso klappt das? Java Basics - Anfänger-Themen 8
P Compiler-Fehler wieso zeigt der compiler ein else without if? Java Basics - Anfänger-Themen 3
S OOP Die Methode funktioniert, aber wieso? Java Basics - Anfänger-Themen 2
X Connection reset, wieso? Java Basics - Anfänger-Themen 4
A Bild verschwindet! Wieso?? Java Basics - Anfänger-Themen 2
A Wieso denn das??? Java Basics - Anfänger-Themen 2
S Methoden void-Methode: Wieso gibt es eine Rückgabe? Java Basics - Anfänger-Themen 5
SexyPenny90 Wieso ist diese eigene Equals-Methode schlecht? Java Basics - Anfänger-Themen 17
C Klassen Wieso kein infiniter Regress? Java Basics - Anfänger-Themen 4
X Wieso mehrere JRE ordner? Java Basics - Anfänger-Themen 8
A Wieso wird immer 0 ausgegeben? Java Basics - Anfänger-Themen 4
R Wieso hat ein Konstruktor keinen Rückgabetyp? Java Basics - Anfänger-Themen 6
S JTable removeRow() IndexOutOfBounceException - wieso? Java Basics - Anfänger-Themen 3
S wieso Fehlermeldung cannot find symbol hier Java Basics - Anfänger-Themen 10
N NumberFormatException, aber wieso? Java Basics - Anfänger-Themen 5
T Wieso kompiliert das? Java Basics - Anfänger-Themen 7
B Warnung : Dead Code. Aber wieso? Java Basics - Anfänger-Themen 10
W Compiler-Fehler NullPointerException. Aber wieso? Java Basics - Anfänger-Themen 2
C Conways Game of Life / "Waldbrandsimulation": wieso temporäres Hilfs-Array?! Java Basics - Anfänger-Themen 8
R If-Abfrage liefert false zurück, wieso ? Java Basics - Anfänger-Themen 20
H Wieso ist das eine Endlosschleife? Java Basics - Anfänger-Themen 8
R wieso Nullpoint und was mit Events ? Java Basics - Anfänger-Themen 14
R Wieso hänge ich hier in einer Endlosschleife (vermute ich zumindest)? Java Basics - Anfänger-Themen 2
S wieso ist mein Code falsch? Java Basics - Anfänger-Themen 2
B Wieso ein Fehler? illegal Starts of expression? Java Basics - Anfänger-Themen 12
radiac Wieso bekomme ich kein Bild drauf??? Java Basics - Anfänger-Themen 13
Hatebreed Keine Datenbankverbindung, wieso? (ClassNotFoundEscpetion) Java Basics - Anfänger-Themen 18
G Wieso enum Declaration nur außerhalb einer Methode möglich? Java Basics - Anfänger-Themen 9
K Wieso schaltet meine CheckBox von selbst um ? Java Basics - Anfänger-Themen 31

Ähnliche Java Themen

Neue Themen


Oben