Mysteriöse Ausgaben nach Addition

H

hendrix

Gast
Hallo Leute,
ich bin kurz vorm verzweifeln. Ich habe folgendes Problem bei der Addition zweiter Array-Elemente.

Java:
summe[spalte[i]] = summe[spalte[i]]
                    + this.data[i][spalte[i]];

            System.out.println(this.data[i][spalte[i]]
                    + " + " + summe[spalte[i]]);
            
            if (summe[spalte[i]] == 0) {

                System.out.println("----" + this.data[i][candidate[i]]);
                
            }

Ausgabe:
120.45 + 174.4788
---- 120.45

Der ganze Code läuft innerhalb mehrerer Schleifen und dieser Fehler tritt auch nicht bei jeder Iteration auf.
Kann es vielleicht sein, dass die Ausgabe zeitlich zum falschen Zeitpunkt ausgeführt wird, d.h. dass das Ergebnis intern
stimmt nur nicht richtig ausgegeben wird?
Dieses Problem tritt außerdem erst auf, wenn die Arrays sehr groß werden.
Ich hoffe jemand hat einen Verdacht und kann mir einen Tipp geben.
Liebe Grüße
 
S

SlaterB

Gast
ändere jede Ausgabe, schreibe "Ausgabe 1", "Ausgabe 2" usw. am Anfang, dann ist alles halbwegs eindeutlich,
du musst nicht über den zugehörigen Quellcode rätseln,

verstehe ich richtig dass das Problem ist, dass summe[spalte] gar nicht 0 sondern 174.4788 sein soll?
gib summe[spalte] auch in dem if mit aus, sowie i, evtl. hashCode() der beteiligten Arrays um Verwechslungen zu erkennen
 
H

hendrix

Gast
Ich habe gerade noch einen Fehler enddeckt die Zeile
Java:
System.out.println("----" + this.data[i][candidate[i]]);
muss natürlich heißen
System.out.println("----" + this.data[spalte]);
 
H

hendrix

Gast
Oh die Antwort ging aber schnell danke.
Also hier noch mal der Code hoffentlich ein bischen berständlicher.
Java:
summe[spalte[i]] = summe[spalte[i]]
                    + this.data[i][spalte[i]];
 
            System.out.println("Ausgabe1: " + this.data[i][spalte[i]]
                    + " + " + summe[spalte[i]]);
            
            if (summe[spalte[i]] == 0) {
 
                System.out.println("Ausgabe2: " + this.data[i][spalte[i]]);
                
            }

//Ausgabe 1: 8.1 + 830.8732000000002
//Ausgabe 2: 8.1 + 0.0

summe[spalte] sollte in diesem Fall den Wert 838.973 haben. Der Wert ist aber offensichtlich 0.
Das dürfte doch rein logisch schon nicht sein.
 
S

SlaterB

Gast
der Code steht ja gewiss nicht so direkt hintereinander?

wie gesagt hast du technisch noch folgende Möglichkeiten:
- einfach: Indexe ausgeben, vielleicht ist i inzwischen was anderes oder spalte,
hashCode() der Arrays ausgeben, vielleicht sind es verschiedene

- schwierig: das Array (testweise) durch ein Objekt einer eigenen Klasse ersetzen, get und set loggen und so ein vollständiges Bild erhaten,
man kann sogar einigermaßen herausfinden, wer der Aufrufer war

..
> Log von ArrayKlasse, Array 345: setze Feld i = 17 auf Wert 830.8732000000002, Aufrufer war ..
> Log von ArrayKlasse, Array 345: Feld i = 17 wird abgefragt, Wert ist 830.8732000000002, Aufrufer war ..
> Ausgabe 1: 8.1 + 830.8732000000002
> Log von ArrayKlasse, Array 345: setze Feld i = 17 auf Wert 0, Aufrufer war ..
> Log von ArrayKlasse, Array 345: Feld i = 17 wird abgefragt, Wert ist 0, Aufrufer war ..
> Ausgabe 2: 8.1 + 0.0
...

auch hier muss man natürlich darauf achten, dass die Nummern der Arrays eindeutig sind,

------

ansonsten einfach das Programm etwas genauer anschauen, dann erkennt man vielleicht die Fehler ;)
ein vollständiges kurzes Testprogramm mit Fehler hier posten wäre auch ein Schritt zur Lösung
 
H

hendrix

Gast
Ich habe die Lösung gefunden...
Dadurch, dass ich die Indexe ausgegeben habe, habe ich rausgefunden, dass das Framework was ich verwende Threads
benutzt. Dadurch wird meine Methode parrallel aufgerufen und das einzelne ArrayObjekt summe[], was in einer Objektvariable gespeichert war wird so ständig überschrieben. summe[] wird nun immer lokal in meiner Methode initialisiert und dann sind die Ausgaben auch korrekt.
Danke für die schnelle Hilfe...
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
G mysteriöse while-schleife Java Basics - Anfänger-Themen 3
M Wie kommen diese Ausgaben zustande? Java Basics - Anfänger-Themen 12
K Ausgaben auf der Konsole (static Varible) Java Basics - Anfänger-Themen 9
B Grundsatzfragen zu meinem neuen Projekt Einnahmen-Ausgaben App Java Basics - Anfänger-Themen 8
A Wieso bekomme ich hier zwei unterschiedliche Ausgaben? Java Basics - Anfänger-Themen 6
S Ein- Ausgaben Java [Hilfe] Java Basics - Anfänger-Themen 3
M Verschiedene Eingabe = Verschiedene Ausgaben Java Basics - Anfänger-Themen 5
J Erste Schritte Alle möglichen ausgaben von 5 Zahlen als Vector Java Basics - Anfänger-Themen 7
D Methoden Eigene Methode um alle Ausgaben aufzurufen Java Basics - Anfänger-Themen 17
ralfb1105 Ausgaben von ProcessBuilder Prozess "streamen" Java Basics - Anfänger-Themen 25
C Vererbung - Ausgaben bestimmen Java Basics - Anfänger-Themen 6
O Wie Log4J - Ausgaben/Events auffangen?! Java Basics - Anfänger-Themen 3
J ausgaben von der konsole in das fenster Java Basics - Anfänger-Themen 5
W Array in String und String in Array - falsche Ausgaben Java Basics - Anfänger-Themen 20
S write(), weshalb verschiedene Ausgaben? Java Basics - Anfänger-Themen 4
V Personenverwaltung mit List<>, falsche Ausgaben Java Basics - Anfänger-Themen 5
Z GUI-Ausgaben. Java Basics - Anfänger-Themen 11
G Wie bekomme ich alle Ausgaben von runTime.exec() Java Basics - Anfänger-Themen 7
C Erste Schritte Boolsche For-Schleife soll Ausgaben mitzählen Java Basics - Anfänger-Themen 8
W Ausgaben in JAVA Java Basics - Anfänger-Themen 7
J Eclipse Console Ausgaben Abfangen Java Basics - Anfänger-Themen 2
D Methoden und Ausgaben Java Basics - Anfänger-Themen 4
A [gelöst]Zwei Ausgaben, die eigentlich gleich sein sollten Java Basics - Anfänger-Themen 9
S Hilfe bei Ausgaben durch Konsolenprogramm Java Basics - Anfänger-Themen 13
Screen Verzögerung zwischen Ausgaben Java Basics - Anfänger-Themen 5
O 2 Ausgaben, aber nur 1 gewollt. Java Basics - Anfänger-Themen 10
J Verschiedene Ausgaben bei gleichen Ausdrücken (Typecasting?) Java Basics - Anfänger-Themen 5
G Farbige / unterstrichene Ausgaben auf der Konsole! Java Basics - Anfänger-Themen 2
G Erstellung von HTML Ausgaben Java Basics - Anfänger-Themen 5
F DOS Ausgaben einlesen Java Basics - Anfänger-Themen 14
S exe-Datei ausführen, Ausgaben einlesen? Java Basics - Anfänger-Themen 3
K String in JTextfield formatiert ausgaben Java Basics - Anfänger-Themen 5
S Bei Ausgaben von Objekten wird Klassenname@Zahl ausgegeben Java Basics - Anfänger-Themen 9
R Ausgaben von externer .exe einlesen Java Basics - Anfänger-Themen 2
C Ausgaben mit der Paint-Methode Java Basics - Anfänger-Themen 5
M HelloWorld.txt nach HelloWorld.java in Win11 funktioniert nicht Java Basics - Anfänger-Themen 4
J Zwischenablage ist nach Programm beenden leer Java Basics - Anfänger-Themen 9
hubmar Fehler beim mp4-datei aufrufen, nach dem zweiten aufruf Java Basics - Anfänger-Themen 1
M Variablen Werte nach setzen, bei Abfrage wieder alter Wert Java Basics - Anfänger-Themen 11
D Map<String, Integer> sortieren und der reinfolge nach die Glieder abfragen Java Basics - Anfänger-Themen 3
S nach Import von jars (PLC4x) in Eclipse kann nicht mehr compiliert werden Java Basics - Anfänger-Themen 9
S Java: Wie sortiere ich eine ArrayList benutzerdefinierter Objekte nach einem bestimmten Attribut? Java Basics - Anfänger-Themen 2
M Queue-Datenstruktur: nach dem Elementen entfernen, das Ergebnis ist immer noch nicht optimal. Java Basics - Anfänger-Themen 3
N Hey Leute und zwar versuche ich gerade ein 2D Spiel zu Programmieren aber die Figur will sich nicht nach links oder rechts bewegen :( Java Basics - Anfänger-Themen 12
H Liste nach String-Länge sortieren Java Basics - Anfänger-Themen 1
I Bild richtig speichern / Hochkant im File Explorer, nach Upload vertikal Java Basics - Anfänger-Themen 9
D Wie kann man in Java nach Arrays auf Duplikate prüfen Java Basics - Anfänger-Themen 12
C Probleme mit Byte konvertieren nach int Java Basics - Anfänger-Themen 10
T sortierung der eingabe nach größe Java Basics - Anfänger-Themen 5
G Bei dynamischer Arrayliste nach jeder Auswahl Zahl entfernen Java Basics - Anfänger-Themen 3
ptcho Werte/Position nach dem Funktionsaufruf tauschen? Java Basics - Anfänger-Themen 1
K Warum wird mir hier nach dem ersten Durchlauf zwei mal "welchen Datentyp wollen sie übergeben?" ausgegeben ? Java Basics - Anfänger-Themen 1
H Cast von Float nach String klappt nicht Java Basics - Anfänger-Themen 12
W LocalDate toString und nach Split falsch "erkannt"? Java Basics - Anfänger-Themen 8
B Array nach Elementwerten sortieren? Java Basics - Anfänger-Themen 1
S Größte Zahl nach Eingabe der Zahl 0 ausgeben Java Basics - Anfänger-Themen 6
I Java Mail Timeout erst nach rund 5 Minuten? Java Basics - Anfänger-Themen 9
FireHorses Einen Command erst nach einer Chateingabe aktivieren Java Basics - Anfänger-Themen 1
izoards Sortier Algorithmus für Bounding Box Elememte Links nach Rechts und von Oben nach Unten Java Basics - Anfänger-Themen 33
Jambolo Karten sortieren nach Rang und Farbe Java Basics - Anfänger-Themen 5
Lion.King Subtraktion nach Eingabe im Terminal Java Basics - Anfänger-Themen 7
D Programmieren nach UML Java Basics - Anfänger-Themen 2
rosima26 Java nach letzter Ziffer sortieren Java Basics - Anfänger-Themen 19
H Kompliziertes Sortieren einer ArrayList mit Objekten(Sortieren nach X und Y) Java Basics - Anfänger-Themen 11
H Erste Schritte Nach einer Zahl n soll n Mal der String untereinander ausgegeben werden Java Basics - Anfänger-Themen 3
volcanos List & ArrayList nach Familiennamen abfragen Java Basics - Anfänger-Themen 57
sserio Wie kann man nach einer Klasse fragen? Java Basics - Anfänger-Themen 12
S Java Client-je nach Heap Size Größe startet Applikation oder nicht Java Basics - Anfänger-Themen 4
A String split funktioniert nicht, wenn mehr als 1 Ziffer vor dem Zeichen steht nach dem er trennen soll? Java Basics - Anfänger-Themen 4
F Suche nach betreuender Person für eine Jahresarbeit der 12. Klasse. Java Basics - Anfänger-Themen 6
F nach Methode Programm nicht beenden Java Basics - Anfänger-Themen 9
E Umlaute und Sonderzeichen werden nach der Build Project nicht richtig angezeigt Java Basics - Anfänger-Themen 2
M Bei nach oben scrollen soll Seite aktualisiert werden (Userscript mit Javascript) Java Basics - Anfänger-Themen 10
K log4j nach log4j2 überführen Java Basics - Anfänger-Themen 0
javapingu Jeglichen Inhalt einer Textdatei nach Zeile n löschen Java Basics - Anfänger-Themen 8
J Nach dem Exportieren funktioniert mein Programm nicht mehr Java Basics - Anfänger-Themen 8
P Datei einlesen, nach Begriff filtern und in Datei ausgeben. Problem Standardausgabe über Konsole Java Basics - Anfänger-Themen 19
B Array nach Wert prüfen rekursiv Java Basics - Anfänger-Themen 5
CptK For-Schleife in Thread nach jedem Durchlauf pausieren Java Basics - Anfänger-Themen 35
D Primzahlen Rechner nach Eratostenes von Kyrene Algorithmus Java Basics - Anfänger-Themen 2
rafi072001 Sortieren einer HashMap nach Values Java Basics - Anfänger-Themen 2
L Zahlungen nach Monat filtern Java Basics - Anfänger-Themen 2
J Jtable Eingabe nach Klick ausserhalb der Tabelle übernehmen Java Basics - Anfänger-Themen 6
I String nach Wort suchen Java Basics - Anfänger-Themen 6
C ArrayList sortieren nach bestimmten Buchstaben in den Wörtern Java Basics - Anfänger-Themen 13
javaluke Erste Schritte Array nach Datentyp sortieren Java Basics - Anfänger-Themen 16
D Methoden nach einer bestimmten Reihenfolge ausführen. Java Basics - Anfänger-Themen 20
idontknow707 Matrix nach z.B. Variable durchsuchen Java Basics - Anfänger-Themen 4
O 2D-Array nach einer Spalte sortieren Java Basics - Anfänger-Themen 22
I Liste gruppieren nach Monat? Java Basics - Anfänger-Themen 5
P Ein Objekt nach einem String durchsuchen? Java Basics - Anfänger-Themen 7
M Nach einer erstmaligen Eingabe, eine zweite Eingabe nur noch gegen bestätigung möglich Java Basics - Anfänger-Themen 2
D Input/Output fehlerhafter Algorithmus zum Ersetzen von Array-Werten nach logischem Schema Java Basics - Anfänger-Themen 1
C Meldung einer Klasse nach "oben" Java Basics - Anfänger-Themen 6
B Nach eingefügtem Code erkennt Compiler keine Instanzvar und meldet SyntaxError Java Basics - Anfänger-Themen 2
newcomerJava Nach doppelter Zahl eine Ausgabe Java Basics - Anfänger-Themen 10
M Anzahl Schleifendurchgänge nach x Sekunden anzeigen Java Basics - Anfänger-Themen 2
C Lotto 3, 4, 5, 6 Richtige nach x Ziehungen ermittelt.. Java Basics - Anfänger-Themen 7
G Primzahlen von Rekursiv nach Iterativ Java Basics - Anfänger-Themen 6
F JMenuItem Kann nicht nach einem String benannt werden... Java Basics - Anfänger-Themen 11

Ähnliche Java Themen

Neue Themen


Oben