webForumDet fria alternativet

While-slinga med flera avslut

2 svar · 168 visningar · startad av pettsson

pettssonMedlem sedan jan. 2002777 inlägg
#1

Fungerar det att skriva

int i = 42;
int j = 1;
while(i < 82 && j > 0) {
i++;
j*=-1;
}

Jag har försökt i ett par varianter, men slingan vill inte avsluta, trots att på avslutningskonditionerna är uppfyllda. :q

ViktorMedlem sedan aug. 20021 710 inlägg
#2

Den satsen fungerar för mig

public class Test
{
	public static void main(String argv[])
	{
		int i = 42;
		int j = 1;
		while(i < 82 && j > 0)
		{
			i++;
			j*=-1;
		}
		System.out.println("Slut");
	}
}

Slut skrivs ut när jag kör det programmet.

/Viktor

pettssonMedlem sedan jan. 2002777 inlägg
#3

Hmm... Skummt, försökte få

final int MAX_ITERATIONS = 50;
double z, w = 0;
double a, b;
for(a = 0; a < 255; a++) {
for(b = 0; b < 255; b++) {
while(i < MAX_ITERATIONS && Math.sqrt(z*z + w*w) < 2) {
q=z;
z=z*z + w*w + a;
w=2*q*w + b;
i++;
}
}
}

att fungera, men det ville det inte, ibland räknas i inte upp, och när den gör det avslutas ändå inte while-slingan...
(Är det någon som helst vinst att använda Math.pow(z, 2) instället för z*z förresten? Tar längre tid att skriva och är inte lika uppenbart vad det gör imå)

130 ms totalt · 3 externa anrop · cache AV · v20260731051352-full.56cc9887
0 ms — hämta statistik (cache)
0 ms — hämta forumlista (cache)
128 ms — hämta tråd, inlägg och bilagor (db)