webForumDet fria alternativet

While-slinga med flera avslut

Java

2 svar · 168 visningar · startad av pettsson

Medlem sedan jan. 20021 122 inlägg
Frågan#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

Medlem sedan aug. 20021 752 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

Medlem sedan jan. 20021 122 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å)

253 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)