Gå til innhold

Hjelp til å forstå en oppgave.


Anbefalte innlegg

Hei,

 

Vi har begynt med java programmering på skolen nå. Er fortsatt helt i nybegynnerfasen, men begynner å skjønne mer og mer ettersom vi gjør oppgaver. Men denne oppgaven sliter jeg med:

 

Oppgave: Rewrite the printTicket method so that it declares a local variable, amountLeftToPay. This should then be initialized to contain the difference between price and balance. Rewrite the test in the conditional statement to check the value of amountLeftToPay. If its value is less than or equal to zero, a ticket should be printed, otherwise an error message should be printed stating the amount still required. Test your version to ensure that it behaves in exactly the same way as the original version.

 

Koden:

 

   public void printTicket()
   {
       if(balance >= price) {
           // Simulate the printing of a ticket.
           System.out.println("##################");
           System.out.println("# The BlueJ Line");
           System.out.println("# Ticket");
           System.out.println("# " + price + " cents.");
           System.out.println("##################");
           System.out.println();

           // Update the total collected with the price.
           total = total + price;
           // Reduce the balance by the prince.
           balance = balance - price;
       }
       else {
           System.out.println("You must insert at least: " +
                              (price - balance) + " more cents.");
                   
       }
   }

 

Kunne noen gikk meg noen tips til hvordan jeg skal løse denne oppgaven? - Jeg ønsker kun hjelp til å forstå oppgaven. Å bare få servert svaret hjelper lite, da forstår jeg fortsatt ikke oppgaven :)

Endret av Gulliksen
Lenke til kommentar
Videoannonse
Annonse

Litt merkelig oppgave da jeg syntes omskrivingen gjør den dårligere enn med den orginale koden.

 

Uansett så er vel de fem stegene nødvendig relativt enkle:

 

-declare a local variable, amountLeftToPay

Int kan brukes for å gjøre det lett, men flyttall vil være bedre og mer "korrekt" når det er snakk om penger.

 

-[it] should then be initialized to contain the difference between price and balance

Enkel "a minus b" som kan settes i samme linje som du instansierer variablen over.

 

-Rewrite [] the conditional statement to check the value of amountLeftToPay

Her ber den om at IF-spørringen skal om skrives til å kun sjekke verdien av variablen over.

 

-If its value is less than or equal to zero, a ticket should be printed..

Enkel "if variabel ... 0"

 

-..otherwise an error message should be printed stating the amount still required.

Else {}

 

Syntes du min løsning treffer oppgaven? Var det mer hjelp enn du ønsket?

Lenke til kommentar

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...