Avatar billede trendy Nybegynder
19. marts 2000 - 18:47 Der er 14 kommentarer og
1 løsning

Hastesag om opgave

Elo'

Jeg mangler MEGET hjælp til en opgave i JAVA. Derfor behøver jeg din hjælp i en fart...

Opgaven lyder:

1. Skriv et program der kan give tilbage på en 100-krone seddel, i det mindste antal seddel/mønter det er muligt.. Betalingerne er mindre end 100 kroner og kan være skæve ørebeløb. Der bør derfor tages hensyn til gældende lovgivning vedr. op- og nedrunding.

Som brugergrænseflade anvendes konsollen, hvor der udskrives en linje med besked om. at brugeren skal indtaste beløb. I næste promt-linje kan brugeren så indtaste beløbet, og få svaret på efterfølgende linjer.

2. Argumenter verbalt for den valgte programlogik, på fx. 10 linjers text.

3. Overvej om den valgte logik er hensigtsmæssig, kan den fx. generalisers bedre, så det vil være nemmere at udbygge programmet? Overvej om den valgte logik er let at vedligeholde, hvis montstrukturen ændrer sig.

På forhånd mange tak
Avatar billede erikjacobsen Ekspert
19. marts 2000 - 19:17 #1
En skoleopgave?
Avatar billede trendy Nybegynder
19. marts 2000 - 19:41 #2
Ja
Avatar billede trendy Nybegynder
19. marts 2000 - 19:41 #3
Kan du hjælpe?
Avatar billede erikjacobsen Ekspert
19. marts 2000 - 19:49 #4
Nej, jeg vil ikke give dig en løsning - et lidt principielt spørgsmål, fordi jeg
faktisk underviser i den slags på en af vore handelsskoler. Men har du et
Java-program, som du har problemer med, f.eks. i forbindelse med en
skoleopgave, så hjælper jeg gerne, på samme måde som du får hjælp
på en "lektiecafé".
Avatar billede trendy Nybegynder
19. marts 2000 - 19:58 #5
Er der andre der kan hjælpe?
Avatar billede thobru Nybegynder
19. marts 2000 - 21:25 #6
Hej Trendy, det lyder som om du er 1. års datamatiker studerende, har jeg ret !!! nå men hvor om alting er, havde jeg næsten samme opgave, og lad det være sagt med det samme, jeg kunne heller ikke løse den de første 15 gange jeg forsøgte, men til sidst fik jeg da et resultat - det får du hermed, håber det kan bruges /Thomas

public class aflevering2                       
    {    public static void main(String[] args)
        {
            double atbetale;
            double betaler;
            double rest;
            int rest1;
            float rest2;
           
            ConsoleReader console = new ConsoleReader(System.in);
           
            System.out.println("At betale");
            atbetale = console.readDouble();
           
            System.out.println("Du betaler");
            betaler = console.readDouble();
           
        rest = betaler - atbetale;
       
        if (rest > 10000)
        {        System.out.println("Forklar kunden, at dette ikke er en bank!!!");
                    System.out.println("Bed om en check på beløbet eller hæv via dankort !!!");
        }   
           
            else
            {
               
       
                if     (rest >= 10000)
            {        rest1=(int)(rest/10000);
                    rest = rest % 10000;
           
                    System.out.println("Udbetal antal 10000 kr.  : "+rest1);
            }

                if (betaler<atbetale)
            {System.out.println("Ring efter politiet, og anmeld en bedrager !!!");
            }

           
           
            if     (rest >= 1000)
            {        rest1=(int)(rest/1000);
                    rest = rest % 1000;
           
                    System.out.println("Udbetal antal 1000 kr.    : "+rest1);
            }
           
            if     (rest >= 500)
            {        rest1=(int)(rest/500);
                    rest = rest % 500;
           
                    System.out.println("Udbetal antal  500 kr.    : "+rest1);
            }
           
            if     (rest >= 200)
            {        rest1=(int)(rest/200);
                    rest = rest % 200;
           
                    System.out.println("Udbetal antal  200 kr.    : "+rest1);
            }
           
            if     (rest >= 100)
            {        rest1=(int)(rest/100);
                    rest = rest % 100;
           
                    System.out.println("Udbetal antal  100 kr.    : "+rest1);
            }
           
            if     (rest >= 50)
            {        rest1=(int)(rest/50);
                    rest = rest % 50;
           
                    System.out.println("Udbetal antal  50 kr.    : "+rest1);
            }
           
            if     (rest >= 20)
            {        rest1=(int)(rest/20);
                    rest = rest % 20;
           
                    System.out.println("Udbetal antal  20 kr.    : "+rest1);
            }
   
            if     (rest >= 10)
            {        rest1=(int)(rest/10);
                    rest = rest % 10;
           
                    System.out.println("Udbetal antal  10 kr.    : "+rest1);
            }
           
           
            if     (rest >= 5)
            {        rest1=(int)(rest/5);
                    rest = rest % 5;
           
                    System.out.println("Udbetal antal    5 kr.    : "+rest1);
            }
           
            if     (rest >= 2)
            {        rest1=(int)(rest/2);
                    rest = rest % 2;
           
                    System.out.println("Udbetal antal    2 kr.    : "+rest1);
            }
           
            if     (rest >= 1)
            {        rest1=(int)(rest/1);
                    rest = rest % 1;
           
                    System.out.println("Udbetal antal    1 kr.    : "+rest1);
            }
           
            if     (rest >= 0.50)
            {        rest1=(int)(rest/0.50);
                    rest = rest % 0.50;
           
                    System.out.println("Udbetal antal    0.50 kr. : "+rest1);
            }
           
            if    (rest >= 0.25)
            {        rest1=(int)(rest/0.25);
                    rest = rest % 0.25;
           
                    System.out.println("Udbetal antal    0.25 kr. : "+rest1);
            }
           
           
            if     (atbetale - betaler ==0.00)
            {        rest2=(float)rest;
                    System.out.println("Der er betalt med lige penge!!!: ");
            }
           
       
            if     ((rest <0.25)&& (rest>0))
            {        rest2=(float)rest;
                    System.out.print("Til rest - antal øre, der ikke kan udbetales i Dkr: " +rest2);
                    System.out.println(" Øre");
            }           
            }
        }
    }


Ps. send mig din email adresse, så kan du en java fil i nakken, hvis du ikke har lyst til at tyde koden her.

thobru@get2net.dk
Avatar billede trendy Nybegynder
19. marts 2000 - 22:39 #7
Ja tak - du må gerne sende mig en fil på: prinsen@hotmail.com
Avatar billede trendy Nybegynder
19. marts 2000 - 23:47 #8
Jeg får fejl når jeg vil afvikle din kode. Det er linje 10 det er galt med:

ConsoleReader console = new ConsoleReader(System.in);

Jeg afvikler programmet med javac og java kommandoer i dos.
Avatar billede thobru Nybegynder
19. marts 2000 - 23:54 #9
DU får lige en fil mere. Gik ud fra at I havde fået ConsoleReader af jeres lærer, det fik vi !!!
Avatar billede trendy Nybegynder
20. marts 2000 - 10:45 #10
Hvad gør jeg med den?
Avatar billede trendy Nybegynder
20. marts 2000 - 10:46 #11
Og hvad med et svar på 2 og 3?
Avatar billede erikjacobsen Ekspert
20. marts 2000 - 12:23 #12
... underholdende læsning. Hvad i alverden vil du, trendy, med
en uddannelse, hvis du ikke vil lave noget selv.
Nå - jeg kan jo være ligeglad.
Avatar billede ricki Nybegynder
21. marts 2000 - 17:48 #13
Ja jeg mener nu også det er lidt forkert og bestemt også dumt ikke selv at løse opgaverne.
Og til trendy hvad er det for en besværlig måde at løse dette på, var det ikke en ide fx at lave en metode til alle de næsten ens linier? -Dette er IKKE pæn kode!
-Er det forresten ikke også lidt at tage det sjove fra eleverne at give dem en klasse som ConsoleReader? -Denne klasse måtte vi da selv lave, og så sværd er den nu heller ikke, faktisk lidt spild at ligge den i en klasse kun til det.
Avatar billede thobru Nybegynder
22. marts 2000 - 20:32 #14
Tak for de 275 point Trendy, rart at min tilsyneladende "Elendige kode" kunne bruges !!!

Må jeg ikke bare havde lov at sige til ricki og andre, vi skal alle start et sted, og hvis ikke vi gik i skole for at lære noget, så hved jeg godt nok ikke hvad, men det nytter squ ikke noget at man mister modet fra starten af, så kan man lige så godt droppe studiet med det samme. Så istedet for at rakke ned på spørgsmålene og ikke mindst svarerne, var det måske en ide at hjælpe lidt, måske ikke med direkte kode, men så idet mindste med nogle ordenelige hints og forklaringer, det var vi alle bedre tjent med !!!
Avatar billede erikjacobsen Ekspert
22. marts 2000 - 20:37 #15
Personen, der stiller spørgsmålene, skal blot have en holdning, som den
du beskriver. Nemlig et ønske om at lære. Så hjælper vi ham gerne, meget
gerne.

Formuleringerne ovenfor antyder, at opgaven skal afleveres for at gøre læreren
tilfreds - intet andet. Det er spild af alles tid.

Som censor - og det bliver jeg måske for trendy - oplever jeg personer, der
har gået et år på datamatikeruddannelsen, og som ikke kan sætte to symboler
korrekt sammen i et program. Men på en eller anden måde må de jo have fået
lavet nogle opgaver undervejs. Spild af tid, penge, studiepladser.
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester