Compiler-Fehler Operator + nicht erlaubt?

  • Themenstarter Themenstarter RFuchs
  • Beginndatum Beginndatum
R

RFuchs

Gast
Java:
 if (pos+i*laengeLosung<verTeil.length){
					rückgabe = rückgabe+verTeil[pos+i*laengeLosung];
				}
wieso ist + da nicht erlaubt?
 
Wenn du uns auch noch die Datentypen verrätst können wir dir helfen...

Java:
		int pos = 0, laengeLosung = 0, rückgabe = 0, i = 0;
		int[] verTeil = { 0, 1 };

		if (pos + i * laengeLosung < verTeil.length) {
			rückgabe = rückgabe + verTeil[pos + i * laengeLosung];
		}

Das ginge z.B.
 
Java:
                if ( ( pos+i*laengeLosung )<verTeil.length){
                    rückgabe = rückgabe+verTeil[pos+i*laengeLosung];
                }

Berechnungen in If-Abfragen sollten geklammert werden.

jedenfalls sehe ich sonst keinen anderen Fehler
 
pos ist ein int[]
laengelosung ist ein int

Exception in thread "main" java.lang.Error: Unresolved compilation problems:
The operator + is undefined for the argument type(s) int[], int
The operator + is undefined for the argument type(s) int[], int

ist die herausgeworfene Exception
 
Java:
pos+i*laengeLosung<verTeil.length
Wie soll das gehen, ein Array (
Code:
pos
) mit einem int (
Code:
i * langeLoesung
) zu addieren?

Ich gehze mal davon aus, du meinst:
Code:
pos[i] + i * laengeLoesung < verTeil.length
 
Zuletzt bearbeitet:
Ja...
manchmal ist man aber zu doof...
ich schiebs mal auf die Uhrzeit xD

Jetzt hab ich nur woanders nen Fehler aber das ist wieder ein eigenes Problem
 
Ehm ich hake nochmal ein:

Wolletst du den Wert an Stelle i im Array also (pos) verändern oder mittels Addition über das Array iterieren (Basisadresse pos + i)? Letzteres nennt sich Pointerarithmetik und geht so nicht in Java.
 

Neue Themen


Zurück
Oben