8
8989_Sinus
Gast
Hallo,
ich habe folgende for-Schleifen, die ich gerne in eine for-Schleife packen möchte. Damit habe ich allerdings ein paar Probleme.
So sieht einer meiner Versuche aus.
Wie kann ich beim durchzählen eines Arrays ein Element überspringen?
Wie muß ich den Code ändern?
Danke und Gruß
ich habe folgende for-Schleifen, die ich gerne in eine for-Schleife packen möchte. Damit habe ich allerdings ein paar Probleme.
Java:
int start1 = 0;
int []werte = {0, 20, 80, 118, 250, 236};
int periode1 = werte[1];
for (start1 = werte[0]; start1 < werte[1]; start1++) {
double sin = (int) a*Math.sin(2*Math.PI/periode1*start1+Math.PI/c)+d;
Rectangle roib = ip.getRoi();
ip.setRoi(roib);
ip.setRoi((int)start1, 500, 1, 236);
ip.setValue(sin);
ip.fill();
ip.putPixel((int)start1, (int) (sin + 240), 0);
}
int periode2 = werte[2];
for (start1 = werte[0]; start1 < werte[2]; start1++) {
double sin = (int) a*Math.sin(2*Math.PI/periode2*start1+Math.PI/c)+d;
Rectangle roib = ip.getRoi();
ip.setRoi(roib);
ip.setRoi((int)start1+werte[1], 500, 1, 236);
ip.setValue(sin);
ip.fill();
ip.putPixel((int)start1+werte[1], (int) (sin + 240), 0);
}
int periode3 = werte[3];
for (start1 = werte[0]; start1 < werte[3]; start1++) {
double sin = (int) a*Math.sin(2*Math.PI/periode3*start1+Math.PI/c)+d;
Rectangle roib = ip.getRoi();
ip.setRoi(roib);
ip.setRoi((int)start1+werte[1]+werte[2], 500, 1, 236);
ip.setValue(sin);
ip.fill();
ip.putPixel((int)start1+werte[1]+werte[2], (int) (sin + 240), 0);
}
int periode4 = werte[4];
for (start1 = werte[0]; start1 < werte[4]; start1++) {
double sin = (int) a*Math.sin(2*Math.PI/periode4*start1+Math.PI/c)+d;
Rectangle roib = ip.getRoi();
ip.setRoi(roib);
ip.setRoi((int)start1+werte[1]+werte[2]+werte[3], 500, 1, 236);
ip.setValue(sin);
ip.fill();
ip.putPixel((int)start1+werte[1]+werte[2]+werte[3], (int) (sin + 240), 0);
}
So sieht einer meiner Versuche aus.
Wie kann ich beim durchzählen eines Arrays ein Element überspringen?
Wie muß ich den Code ändern?
Java:
int start = 0;
int summe = 0;
int []werte = {0, 20, 80, 118, 250, 236};
for (int i = 0; i < werte.length; i++) {
int periode = werte[i];
summe += werte[i];
for (start = werte[i]; start < werte[i]; start++) {
double sin = (int) a*Math.sin(2*Math.PI/periode*start+Math.PI/c)+d;
Rectangle roib = ip.getRoi();
ip.setRoi(roib);
ip.setRoi((int)start+summe, 500, 1, 236);
ip.setValue(sin);
ip.fill();
ip.putPixel((int)start+summe, (int) (sin + 240), 0);
}
}
Danke und Gruß