Arrays verwenden für Berechnung

  • Themenstarter Themenstarter Bfasdgsd
  • Beginndatum Beginndatum
B

Bfasdgsd

Gast
ich benutze
Code:
 int count = scan.nextInt();
		   float[] values = new float[count];
		   
		   for (int i = 0; i < count; i++) {
			   	System.out.println("Wert " + (i + 1) + ":");
			   	values[i] = scan.nextFloat();

um die anzahl der werte selber zu bestimmen.

Meine frage ist aber, wie kann ich die Werte jetzt für eine berechnung benutzen. ich kann ja nicht z.b value[0] + value[1] machen, werden ja nur die 1. beiden werte berechnet.

das war mein ansatz zur berechnung:
Code:
for (int j = 0; j <= count; j++ ){
   	   				double ergebnis = values[i];
   	   				ergebnis = ergebnis + values[i];
   	   			if (i==count-1){
   	   	   			out.println("Das Ergebnis aus beiden Werten lautet: " + (ergebnis) ); 
   	   	   			}
   	   			}
aber der output ist nicht korrekt
 
Oh, fail. Hier nochmal die erstellung der anzahl der werte:
Java:
	   	   int count = scan.nextInt();
		   float[] values = new float[count];
		   
		   for (int i = 0; i < count; i++) {
			   	System.out.println("Wert " + (i + 1) + ":");
			   	values[i] = scan.nextFloat();
und meine bisher nicht korrekte schleife zur berechnung der werte:
Java:
   	   			for (int j = 0; j <= count; j++ ){
   	   				double ergebnis = values[i];
   	   				ergebnis = ergebnis + values[i];
 
[Java]
double ergebnis = 0.0;
for (int j = 0; j < count; j++ ){
ergebnis += values[j];
} [/Java]

Du musst die Variable ergebnis for der Schleife erzeugen und dann die Werte dazu addieren
[Java]ergebnis += values[j];[/Java] ist due Kurzform von
[Java]ergebnis = ergebnis + value[j];[/Java]

Und soweit ich denke, muss es wirklich nur [Java]j < count[/Java] sein und nicht [Java]j <= count[/Java]
(Könnte sonst eine Exception geben)

edit:
mir fällt auch auf, dass es value[j] sein muss und nichtvalue...Schleifenvariable bei der Schleife ist ja "j" und nicht "i"
Aber das verwirrt mich auch gern bei meinen eigenen Schleifen
 
Zuletzt bearbeitet:
Java:
double ergebnis;
for (int j = 0; j < count; j++ ){ 
   ergebnis+= = values[i];
}
System.out.println(ergebnis);

Du musst ergebnis auserhalb der Schleife definieren,sonst wird es bei jedem SChleifendurchlauf neu angelegt. und natürlich musst du die Werte Addrieren oder sonst etwas.

Edit und natürlich darf es nicht <= sondern muss < in der schleife lauten
 

Neue Themen


Zurück
Oben