Ja, men nej... for i det tilfælde ville 60/10 give 7.
Når begge er ints, kan du alligevel ikke bruge ceil, fordi divisionen inden da vil blive rundet ned (den laver integer division) - jeg gik ud fra at du havde en float/double ind over.
Du kan godt bruge det du kom med, hvis du lige laver et check på om der er en rest INDEN du lægger 1 til:
int a = 66; int b = 10; int tal = a / b; if (a % b != 0) tal++;
Som pidgeot så vil det jo kun gælde ved 66/10. Men hvis du stadig har to int, som er af forskellige tal, altså hvor det ene ikke er fast, så har jeg prøvet at lave en løsning til problemet. Det er som følger:
public int dived(int a, int b){ Integer k1 = new Integer(a); Integer k2 = new Integer(b); double d1 = k1.doubleValue(); double d2 = k2.doubleValue(); double d3 = d1/d2; double d4 = (d3*10)%10;
if(d4>=5){ d3 = d3-(d4/10)+1; } else{ d3 = d3-(d4/10); } return new Double(d3).intValue(); } Det skulle gerne returnere en int som er enten rundet op eller ned...
Hehe nej det gør jeg ikke... :-) Da jeg stadig er lidt ny i at programmere, så vil jeg gerne have klarlagt om du mener at jeg skriver for mange linjer kode, eller for få...
men følte at der måtte skrives en metode som kunne hvad der blev bedt om, og som virkede på andre tal end 66/10...
Men det som jeg har skrevet er til alle andre tal... hvis du f.eks. har 64/10 så skulle det jo gerne rundes ned til 6 og ikke op til 7... Det var sådan at jeg forstod opgaven, hvor 66/10 var et eksempel.... men det kan da sikkert skrives på færre linjer kode:-)
Ja spørger har jo fået hvad vedkommende ønskede... så der er jo ikke så meget mere at diskuter...
Synes godt om
Ny brugerNybegynder
Din løsning...
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.