Trulsz Skrevet 9. september 2009 Del Skrevet 9. september 2009 (endret) Heya ! Jeg startet nettop på IB og studerer hva vi kaller "computer science". Selvfølgelig driver vi da med java programmering, og jeg fikk en oppgave jeg bare ikke helt klarte å finne ut av. letter sagt; det var 1 av 3 ting jeg ikke greide å få til. Oppgaven går som følgende (beklager hvis det dumt at den er på engelsk): "in order to earn exta money, a student types extended essays for free. the amount charged depends on the number of pages in the document. The student charges: - 5 as a minimum fee for one to three pages - 1.50 ge for each page over three pages - an additional 3.75 if the number of pages exceeds 10 Assuming that 200 words fit on a single typed page, a 1,300-word essay would produce a fee of 11.00. that is 1300/200 = 6.5 actual pages, for which the student charges 7 whole pages. the calculation is 5.00(for the first 3 pages)+1.50x4pages(7-3) to produce a fee of 11.00 Your task: Write a program that the student can use to calculate the fee. -The program must prompt the student to give a number of words in the extended essay. the desired output will be: - Actual number of pages - whole number of pages - typing fee ------------------------------------------------------------------------------------------ Problemet er at jeg ikke finner en måte å få computeren til å generere (runde opp eller ned) til "the whole number" fra "the actual number". Dette er det jeg har så langt (og det fungerer som det skal uten noen form for errors: ------------------------------------------------------------------------------------------ public class FeeCalculator { public static void main(String[] args) { double words=inputDouble ("enter the number of words in the essay"); double actualnumber=words/200; if (actualnumber <=3) { output("The actual number of pages in the essay are "+actualnumber); output("The typing fee = 5"); } else if (actualnumber<=10) { output("The actual number of pages in the essay are "+actualnumber); output("the typing fee = "+(5+ (actualnumber-3)*1.5)); } else { output("The actual number of pages in the essay are "+actualnumber); output("the typing fee = " +(15.5+(actualnumber-10)*2)); } } ------------------------------------------------------------------------------------------ Er det noen hyggelige sjeler der ute som kunne forklart meg hvordan jeg skal få programmet til å gi meg "Whole number" som output ved siden av "the actual number" EDIT: Jeg bruker "BlueJ" forresten Endret 9. september 2009 av Trulsz Lenke til kommentar
oldis Skrevet 9. september 2009 Del Skrevet 9. september 2009 (endret) en rask google på java round to nearest integer ville gitt deg blant annet denne siden: http://mindprod.com/jgloss/round.html Håper det hjelper... Endret 9. september 2009 av oldis Lenke til kommentar
duckers Skrevet 9. september 2009 Del Skrevet 9. september 2009 Litt usikker på om alle tall skal rundes opp, ned eller av her? Runde ned: int actualnumber=(int)words/200; Alternativ runde ned: int actualnumber=Java.lang.Math.floor(words/200); Runde av: int actualnumber= Java.lang.Math.round(words/200); Runde opp: int actualnumber=Java.lang.Math.ceil(words/200); Lenke til kommentar
olaw Skrevet 11. september 2009 Del Skrevet 11. september 2009 Det må vel nødvendigvis alltid rundes opp i dette tilfellet (altså ceil), for en påbegynt side er en hel side. Lenke til kommentar
Trulsz Skrevet 17. september 2009 Forfatter Del Skrevet 17. september 2009 det fungerte det ja! takk for svar Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå