summe von aufeinander folgenden floats eines arrays

JensMander

Bekanntes Mitglied
Hallo Forum,
nachdem ich bis dato all meine Probleme durch bereits erörterte Aufgaben lösen könnte, komme ich nicht ohne einen eigenen Eintrag drumherum.

Und zwar folgendes: ich habe eine ArrayListe in der feste Arrays gespeichert sind. Die Arraywerte sind alles floats. Nun ist es so das ich ab einem bestimmten Array der ArrayListe einige Werte zusammenrechnen möchte bist ein bestimmter Wert erreicht ist. Sollte der Wert nicht erreicht werden so mit den Werten des darauffolgenden Arrays weitergemacht werden.

z.B.

ArrayList=([1,3,5,4,6],[2,3,6,5,4],[4,7,5,4,5]......)

nun möchte ich das beginnenden beim ersten Array (arraylist.get(0)) angefangen wird die berechnung zu starten und zwar von jedem array der zweite, dritte und vierte werte
for ( int i=1; i<=3;i++){summe = summe+array}

wenn die summe 15 erreicht hat, soll hier schluss sein, wenn die summe aber noch unter 15 ist soll das nächste Array aus der Arrayliste mit einbezogen werden und das solange bist 15 erreicht wird.

Habt ihr da eine schöne Idee?

mit freundlichen Grüßen
Jens
 

Lowpass

Aktives Mitglied
Java:
public static void bilde15erSummen(ArrayList<float[]> arrayList) {
	Iterator<float[]> iterator = arrayList.iterator();
	float summe = 0;
	while (iterator.hasNext()) {
		float[] currentArray = iterator.next();
		for (int i = 0; i < currentArray.length; i++) {
			summe = summe + currentArray[i];
			if (summe >= 15) {
				System.out.println("Summe: " + summe);
				summe = 0;
			}
		}
	}
}
 

JensMander

Bekanntes Mitglied
vielen Dank für deine Antwort, magst du mir das Prinzip des Iterators an diesem Beispiel(ich steige da leider noch nicht ganz durch) erklären?
vielen Dank
 
Zuletzt bearbeitet:
B

bygones

Gast
vergiss lieber das mit dem Iterator... nutz die erweiterte for schleife
Java:
for(float[] f : arrayList) {
 // hier dann weiter mit f arbeiten
}
 

JensMander

Bekanntes Mitglied
das ist ja das problem ich weiß nicht genau wie ich dann weiter machen soll. habe die richtige stelle in meinem netten Inselbuch auch noch nicht gefunden.

also mein problem ist was mache ich wenn ich erst mit dem 5ten oder xten array anfangen will die berechnung zu starten?
 
Zuletzt bearbeitet:

Lowpass

Aktives Mitglied
Dann kannst Du an meinem Lösungsvorschlag 2 kleine Änderungen vornehmen:

1. die Methoden-Signatur ändern zu bilde15erSummen(ArrayList<float[]> arrayList, int beginIndex)
2. den Iterator über folgende Methode holen: arrayList.listIterator(beginIndex);

Und das war's.

Zum Prinzip des Iterators: den kannst Du Dir als einen Zeiger vorstellen, der über eine Liste iteriert. Mit hasNext() kannst Du abfragen, ob es ein nächstes Element gibt und mit .next() holst Du's. Sobald .next() aufgerufen wurde, zeigt der Iterator auf das darauf folgende Element oder auf nichts mehr, wenn er die Liste durch hat.
 
Zuletzt bearbeitet:

JensMander

Bekanntes Mitglied
nun habe ich das problem, das eclipse folgendes nicht erkennt"ArrayList<float[]>" liegt das daran das ich aktueller oder zu alt aufgestellt bin, was das sdk betrifft?
 

JensMander

Bekanntes Mitglied
Hallo, ich habe die Methode nun ersteinmal eingefügt und an meine Gegebenheiten angebpasst, doch sie funktioniert bei mir definitv nicht.

Java:
public static void entwicklungL1(ArrayList<String[]> arrayList,int beginIndex) {
	    ListIterator<String[]> iterator = arrayList.listIterator(beginIndex);
	    float summe = 0;
	    while (iterator.hasNext()) {
	        String[] currentArray = iterator.next();
	        for (int i = 25; i <= 48; i++) {
	            summe = summe + Float.valueOf(currentArray[i]).floatValue()/100;
	            if (summe >= 15) {
	                System.out.println("Summe: " + summe+" "+beginIndex);

	            }
	        }
	    }
	}

Eventuell habe ich vergessen zu sagen, das er beim erreichen des bestimmten Wertes (im Beispiel 15) aufhören soll.
vielen Dank für eure hilfe
 

Lowpass

Aktives Mitglied
Zunächst mal ist der Zusatz <float[]> nicht notwendig. Dieser gibt an, dass ArrayList ausschliesslich Arrays vom Typ float aufnehmen kann (Type safety). Wenn ich mich recht erinnere, ist das mit Java 5 eingeführt worden.
Aber dass es mit String[] gehen soll, aber nicht mit float[] kommt mir spanisch vor. Wie lautet denn die Fehlermeldung?

Und wieso greifst Du bei Dir auf die Array-Felder 25 bis 48 zu?
Und wieso teilst Du den Wert noch durch 100?
Und wieso setzt Du summe nicht auf 0 zurück, wenn 15 erreicht worden ist?

Edit: Hab erst jetzt gesehen, dass Du nach dem Code noch eine Frage stellst. Der Grund, warum er nicht aufhört ist, dass Du summe nicht auf 0 zurücksetzt (Frage 3).
Meine beiden ersten Fragen sind ja eigentlich nur Verständnis-Fragen und müssen nicht unbedingt beantwortet werden, wenn Du das genau so in Deinem Code beabsichtigt hast.
 
Zuletzt bearbeitet:

JensMander

Bekanntes Mitglied
Guten Morgen Lowpass,
ersteinmal vielen Dank für deine Hilfe und ich denke auch ich verstehe die ganze Thematik um den Iterator relativ gut. Jetzt geht es nur noch um die Handhabung.
Ersteinmal zu deinen Fragen:
a) weil ich aus dem Array nur die Werte betrachten will
b) weil das Format der Werte noch nicht dem Ausgabeformat entsprach wurde durch 10 geteilt
c) das war nur ein kurzer Testversuch, habe ich vergessen beim posten wieder reinzumachen

was ich aber wirklich meine ist, die Methode scheint ja mit dieser Funktion für jedes Array die Berechnungen durchzuführen. Ich brauche das aber nur für/ab einem bestimmten Array aus der Arrayliste.
Mit beginnindex funktioniert das ansteuern des Startarrays ja schon traumhaft.
Nun möchte ich einfach für das bestimmte Array berechnen wann dder gewünschte Wert erreicht ist.

freundliche Grüße Jens

so ich mache noch mal ein beispiel:

ArrayList aus Arrays:

ArrayList x = ({0,1,2,3,4,1},{3,3,1,7,4,1},{0,1,1,7,8,5},{10,23,1,2,6,1}....)

nun starten wir deine Funktion funktion summe15(x, 1) x die Liste und mit 1 das wir nicht gleich das erste Array berücksichtigen.

jetzt beginnt die berechnung:

für das erste zu berücksichtigende array, werden die werte 3,4,5 aufsummiert
es wird ausgegeben array2 (also index 1 +1) und die summe also 8,
wenn die 15 noch nicht erreicht wurde gehe bitte zum nächsten array
und das ganze spiel bis die 15 erreicht wird. Nachdem erreichen der 15 soll, also Schluss sein.

wenn ich in der aktuellen Version die Methode aufrufe erhalte ich jede menge zahlen und kann überhaupt nicht verstehen, warum soviele ausgegeben werden.
 
Zuletzt bearbeitet:

JensMander

Bekanntes Mitglied
Ich glaube ich habe die Lösung "selber" gefunden.

Habe einfach im Vorfeld die Summe verglichen und dann nicht mehr auf null zurückgesetzt. vielen Dank für die Grundmethode(von der ja das meiste übrig ist).

Java:
public static void entwicklungL1(ArrayList<String[]> arrayList,int beginIndex) {
	    ListIterator<String[]> iterator = arrayList.listIterator(beginIndex);
	    float summe = 0;
	    int g = 0;
	    while (iterator.hasNext() && summe < 1) {
	        String[] currentArray = iterator.next();
	        for (int i = 25; i <= 48 && summe < 1; i++) {
	            summe = summe + Float.valueOf(currentArray[i]).floatValue()/100;
	            if (summe >= 1) {
	            	g++;
	                System.out.println(i+"Summe: " + summe+" "+beginIndex+" "+g);
	            }
	        }
	    }
	}

eine abschließende frage hätte ich dann doch noch:
iterator.next() spricht der den ersten verfügbaren wert/das erste verfügbare array der arrayliste an oder überspringt die methode das erste array???
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
S 100 als Summe Java Basics - Anfänger-Themen 16
I For Schleife Summe berechnen Java Basics - Anfänger-Themen 13
I aus 2 random zahlen soll nur die ungerade summe der beiden genommen werden. Java Basics - Anfänger-Themen 13
Ninum Summe Java Basics - Anfänger-Themen 3
Fats Waller Compiler-Fehler Kann ich einen String und die Summe zweier Char Werte mittels der println Anweisung ausgeben Java Basics - Anfänger-Themen 4
N 2D Array Summe erstellen Java Basics - Anfänger-Themen 6
Q Prüfen ob Zahl als Summe von Potenzen dargestellt werden kann. Java Basics - Anfänger-Themen 20
G Java 2-dimensionalen int-Array Summe Java Basics - Anfänger-Themen 2
L Max, min, Summe und Durchschnitt berechnen Java Basics - Anfänger-Themen 4
R Summe Java Basics - Anfänger-Themen 13
M Array Summe bestimmen? Java Basics - Anfänger-Themen 14
B Summe von Property innerhalb einer Liste via Lambda Java Basics - Anfänger-Themen 1
A Summe des Arrays pd mit alternativer Schleife Java Basics - Anfänger-Themen 2
L Anzahl der Paare deren Summe = 0 ergibt berechnen Java Basics - Anfänger-Themen 0
F Summe in einem Array bestimmen Java Basics - Anfänger-Themen 3
N Quadratische Matrix inkl Summe Java Basics - Anfänger-Themen 8
F Summe aller echten Teiler Java Basics - Anfänger-Themen 2
F Summe aller echten Teiler und Zahlen zurückgeben Java Basics - Anfänger-Themen 1
M Array Summe- wo ist der Fehler ? Java Basics - Anfänger-Themen 13
K Erste Schritte Berechnung der Summe zweier Arrays Java Basics - Anfänger-Themen 15
A Summe aller ungeraden Zahlen Java Basics - Anfänger-Themen 5
J ArrayList: summe aller Spielkarten Java Basics - Anfänger-Themen 15
L (Integer) Liste nach aufsteigender Summe der Ziffern sortieren (mit Bedingung) Java Basics - Anfänger-Themen 8
K Methode: Summe von n Zahlen Java Basics - Anfänger-Themen 24
S Summe aus Kombinationen /permutationen einer Liste mit einer Obergrenze Java Basics - Anfänger-Themen 10
P Altklausur: Abfrage der Summe Java Basics - Anfänger-Themen 9
D Summe berechnen mit verändertem Wert aus Schleife Java Basics - Anfänger-Themen 1
B summe von 2 Matrizen Java Basics - Anfänger-Themen 20
V Input/Output ArrayList Summe ausgeben Java Basics - Anfänger-Themen 57
B Serial Key prüfen -> String mit privatem Key und dann abgleichen; Summe = 0 Java Basics - Anfänger-Themen 8
B OOP Summe aus verschiedenen Instanzen einer Klasse berechnen Java Basics - Anfänger-Themen 2
L Array: Summe aller geraden und ungeraden Zahlen ermitteln Java Basics - Anfänger-Themen 9
Joew0815 summe aus einem aarray Java Basics - Anfänger-Themen 4
B Summe aller Zahlen von 1 bis zu dieser Zahl (ohne while oder for schleife) Java Basics - Anfänger-Themen 4
E Summe der "Nachbarn" eines Wertes in einem Array bestimmen Java Basics - Anfänger-Themen 8
P Schleife zur Berechnung von einer Summe Java Basics - Anfänger-Themen 16
G Rekursion Summe Java Basics - Anfänger-Themen 15
D Summe von Eingaben in einer for Schleife Java Basics - Anfänger-Themen 4
J Summe mit 45 nachkommastellen Java Basics - Anfänger-Themen 8
D Summe aller Positiven Integer aus einer Liste mit ActionObject Java Basics - Anfänger-Themen 2
V Programm summe Java Basics - Anfänger-Themen 11
I Summe eines Arrays ohne Schleife Java Basics - Anfänger-Themen 4
C Summe berechnen Java Basics - Anfänger-Themen 22
A Summe aller Natürlichen Zahlen - Methode Prüfen Java Basics - Anfänger-Themen 10
D Pyramide: Summe der diagonal über ihr stehenden Zahlen! Java Basics - Anfänger-Themen 6
A summe von m bis n mit for-Schleife Java Basics - Anfänger-Themen 5
M array - summe quer Java Basics - Anfänger-Themen 9
B array bestimmte summe berechnen Java Basics - Anfänger-Themen 4
S Summe Berechnen Java Basics - Anfänger-Themen 6
S Summe von Zufallszahlen Java Basics - Anfänger-Themen 9
Z Summe von Vektor-Elementen Java Basics - Anfänger-Themen 5
E Array gebildete Summe ausgeben Java Basics - Anfänger-Themen 5
D 100.0% gleichmäßig aufteilen, so dass Summe 100.0% sind, nicht 99,9% oder 100,1% Java Basics - Anfänger-Themen 3
M Rekursion Summe vom Array Java Basics - Anfänger-Themen 2
W sin-funktion x-wert der summe approximieren Java Basics - Anfänger-Themen 2
M Summe eines Arrays Java Basics - Anfänger-Themen 2
U Summe produkt von einem array Java Basics - Anfänger-Themen 9
J Summe postive Zahlen und negative Zahlen Java Basics - Anfänger-Themen 12
G Summe der Ziffern einer Zahl EFFIZIENT berechnen? Java Basics - Anfänger-Themen 18
J matrix nach summe der spalten sortieren Java Basics - Anfänger-Themen 5
Antoras Zahlen mischen und mit einer for-Schleife Summe berechnen Java Basics - Anfänger-Themen 12
G Summe zweier doubles falsch? Java Basics - Anfänger-Themen 10
G Md5 Summe eines Fileobjektes bilden Java Basics - Anfänger-Themen 4
G JTable Zwischenüberschriften bzw. Summe? Java Basics - Anfänger-Themen 2
L Berechnung Summe Java Basics - Anfänger-Themen 3
A String in Zahlen/Summe umformen Java Basics - Anfänger-Themen 2
R Summe Iterative Java Basics - Anfänger-Themen 6
S Summe innerhalb eines arrays? Java Basics - Anfänger-Themen 2
M summe von squares Java Basics - Anfänger-Themen 3
D Können if Anweisungen aufeinander aufbauen? Java Basics - Anfänger-Themen 1
W OOP Zwei Objekte beziehen sich aufeinander (Zirkelbezug)? Java Basics - Anfänger-Themen 4
R Threads aufeinander warten lassen? Java Basics - Anfänger-Themen 10
T Mehrere Methoden in der main-Methode verknüpfen und aufeinander anwenden Java Basics - Anfänger-Themen 2
S variablen aufeinander abstimmen Java Basics - Anfänger-Themen 6
F Klassen aufeinander beziehen Java Basics - Anfänger-Themen 6
C 2 StringVariablen aufeinander verweisen! Java Basics - Anfänger-Themen 10
tony241188 Implementieren Sie die Klasse Hersteller, welche die folgenden Elektrogeräte produziert Java Basics - Anfänger-Themen 3
dave253 Ich verstehe folgenden Code nicht.. Java Basics - Anfänger-Themen 12
W Wie kann man folgenden Code abändern, dass er den Score mit Zahl anzeigt? Java Basics - Anfänger-Themen 3
S Compiler-Fehler [Aufgabe] Korrigiere folgenden Code Java Basics - Anfänger-Themen 9
G Hilfe! Schaffe es nicht den folgenden Code zu compilieren Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben