Springen naar inhoud

[informatica] programmeren in java met bluej


  • Log in om te kunnen reageren

#1

HosteDenis

    HosteDenis


  • >250 berichten
  • 689 berichten
  • Ervaren gebruiker

Geplaatst op 07 maart 2009 - 02:03

De opgave luidt als volgt:

Oefening 4.18

Schrijf een methode 'prime(int n)' die 'Waar' retourneert als de parameter een priemgetal is, en 'Niet waar' retourneert als de parameter n geen priemgetal is. Om de methode te implementeren kun je een while-lus schrijven die n deelt door alle gehele getallen tussen 2 en (n-1) en test of de deling een geheel getal oplevert. Je kunt deze test schrijven door gebruik te maken van de modulo operator (%) om te controleren of de integerdeling een rest 0 oplevert.


Dus ik schreef:
public boolean prime(int n)
	{
		int a = 2;
		boolean b = false;
		while(a <= (n - 1)) {
			while(((n % a) != 0 )) {
				b = true;
			}
			a++;
		}
		return b;
	}


Nu blijkt dat niet te werken. Kan iemand me misschien helpen?


Denis
"Her face shown like the sun that I strived to reach."

Dit forum kan gratis blijven vanwege banners als deze. Door te registeren zal de onderstaande banner overigens verdwijnen.

#2

HosteDenis

    HosteDenis


  • >250 berichten
  • 689 berichten
  • Ervaren gebruiker

Geplaatst op 07 maart 2009 - 02:12

Edit: nu programmeerde ik al het volgende, maar blijkbaar retourneren alle oneven getallen nu nog de waarde 'true'...

public boolean prime(int n)
	{
		int a = 2;
		boolean b = false;
		while((a <= (n - 1)) && ((n % a) != 0 ) && !((n % a) == 0)) {
				b = true;
				a += 1;
			}			
		return b;
	}
"Her face shown like the sun that I strived to reach."

#3

HosteDenis

    HosteDenis


  • >250 berichten
  • 689 berichten
  • Ervaren gebruiker

Geplaatst op 07 maart 2009 - 02:23

Mijn excuses voor het aanmaken van dit topic, ik vond het antwoord al. Niet zo moeilijk eigenlijk als je er achteraf naar kijkt, en toch staarde ik me er eerst zot op... :D

public boolean prime(int n)
	{
		int a = 2;
		boolean priemgetal = true;
		while(a <= (n - 1)) {
				if((n % a) == 0) {
				priemgetal = false;
			}
			a += 1;
		}			
		return priemgetal;
	}
"Her face shown like the sun that I strived to reach."





0 gebruiker(s) lezen dit onderwerp

0 leden, 0 bezoekers, 0 anonieme gebruikers

Ook adverteren op onze website? Lees hier meer!

Gesponsorde vacatures

Vacatures