13. januar 2003 - 23:21Der er
17 kommentarer og 4 løsninger
Tjekke på om værdi er heltal
Findes der en metode til at tjekke på om et tal er et heltal. Jeg vil prøve at lave et program som finder primtal. Bør jeg i den situation bruge float eller double, tjekke på om det et heltal, eller hvordan bør man strikke det sammen?
Hvis omtalte metode findes, hvordan fungerer den så (kodemæssigt?)
I et inbound callcenter, hvor identiteten på den, der ringer ind, skal bekræftes, kan kontrollen nu foregå i telefonkøen. Det understøtter fem centrale KPI'er for callcentre.
Hvis du vil lave et program som finder primtal, er det nemmeste da at bruge int værdier. Istedet for at bruge float og double og så skulle tjekke om det er heltal :)
Jep det er jeg godt klar over. Men skal man fx tjekke på om 5 er et primtal kan man fx: 5/2, 5/3 og 5/4. Hvis man her bruger int, vil der jo automatisk blive afrundet. Derfor er jeg nød til at tjekke på om det er et heltal og fx bruge float a=5/4
boolean isPrime(int tal) { boolean prime = true; for(int i=2;i<tal;i++) { if(tal%i==0) prime = false; } }
Sådan der kunne en simpel metode til at tjekke om et tal er primtal se ud. Der findes algoritmer som beregner det smartere, men overstående burde virke.
Et primtal skal være et helt tal, ellers er det ikke et primtal! Hvis du vil konvertere et floating point tal til et heltal er det nemmest bare at caste det til en long eller en int. double tal = 1.125; int heltal = (int)tal; // 1
public boolean isPrime(long tal) { long root = Math.sqrt(tal); for(long i = 2; i <= root ; i++) { if (tal % i == 0) return false; } return true; }
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.