Avatar billede maxmuldjord Nybegynder
19. marts 2004 - 20:01 Der er 9 kommentarer og
1 løsning

Hvordan kommer jeg videre?

Nedenstående kode compileres, jeg er bare i tvivl om hvordan jeg kommer videre med opgaven, nu skriver den sidst indtastede og da man jo skal taste 0 for at få løkken til at stoppe så bliver det jo 0 den skriver. Jeg ville gerne have den til at udskrive kundenr samt total salg, hvordan får jeg hul på den? Noget andet er at jeg skal have den til at udskrive i kategorier efter første ciffer, d.v.s. 1 er en kategori 2 en anden osv. Men det er et andet problem.

public class SalesCompany2 {


  public static void main(String[] args) {
    int tekst = 0;
    int pris = 0;
    do
      {
        tekst = Integer.parseInt(JOptionPane.showInputDialog(null,
            "Indtast kundenr."));

        if (tekst > 499)

          JOptionPane.showMessageDialog(null, "Ulovligt tal");
        else

        {
           
          pris = Integer.parseInt(JOptionPane.showInputDialog(null,
              "Indtast salg"));

        }
      }
      while (tekst != 0);
     
        System.out.println("Kundenr:" + tekst + "\t Salg:" + pris);

   

    }
}
Avatar billede arne_v Ekspert
19. marts 2004 - 20:44 #1
Jeg tror ihvertfald dette ligger tættere på hvad du vil:

import javax.swing.*;

public class SalesCompany2 {
    public static void main(String[] args) {
        int tekst = 0;
        int pris = 0;
        for (;;) {
            tekst = Integer.parseInt(JOptionPane.showInputDialog(null, "Indtast kundenr."));
            if (tekst > 499) {
                JOptionPane.showMessageDialog(null, "Ulovligt tal");
            } else {
                if (tekst == 0)    break;
                pris = Integer.parseInt(JOptionPane.showInputDialog(null, "Indtast salg"));
            }
            System.out.println("Kundenr:" + tekst + "\t Salg:" + pris);
        }
    }
}
Avatar billede arne_v Ekspert
19. marts 2004 - 21:06 #2
Jeg er ikke sikker på at jeg har forstået det med kategori, men her er et gæt:

import javax.swing.*;

public class SalesCompany2 {
    public static void main(String[] args) {
        int[] kat = { 0, 0, 0, 0, 0 };
        int tekst = 0;
        int pris = 0;
        for (;;) {
            tekst = Integer.parseInt(JOptionPane.showInputDialog(null, "Indtast kundenr."));
            if (tekst > 499) {
                JOptionPane.showMessageDialog(null, "Ulovligt tal");
            } else {
                if (tekst == 0)    break;
                pris = Integer.parseInt(JOptionPane.showInputDialog(null, "Indtast salg"));
                kat[tekst/100] += pris;
            }
            System.out.println("Kundenr:" + tekst + "\t Salg:" + pris);
        }
        for(int i = 0; i < kat.length; i++) {
            System.out.println("Kategori:" + i + "\t Salg:" + kat[i]);
        }
    }
}
Avatar billede maxmuldjord Nybegynder
19. marts 2004 - 21:22 #3
Tak Arne

Jeg prøver lige og vender så tilbage med point!
Avatar billede maxmuldjord Nybegynder
20. marts 2004 - 09:22 #4
Tak Arne. Det virker efter hensigten! Jeg har dog et par spørgsmål, jeg prøver at forstå logikken. kan du forklare mig hvad det er du gør her "for (;;)" ? Og så din array, efter hvad jeg har forstået så starter den altid med 0? Men kan jeg evt. fjerne kategori 0? Jeg prøver om jeg kan forstå resten
Avatar billede arne_v Ekspert
20. marts 2004 - 09:25 #5
for(;;) er en uendelig løkke som først afsluttes når break udføres (hvis man
taster 0).

Jeg har defineret at 1-99 => kat. 0 100-199 => kat. 1 etc. - du kan lave en
anden transformering hvis du vil.
Avatar billede maxmuldjord Nybegynder
20. marts 2004 - 09:54 #6
Jeg forstår det med løkken nu men hvor definere du kat? Det kan jeg ikke gennemskue men jeg håber at lære det! Og hvad nu hvis jeg vil tælle kat op i en println() mere? Således at den ville skrive det totale salg. Jeg er i tvivl om hvordan jeg lægger en variabel til sig selv. Den bog jeg har er desværre ikke særlig god 8(
Avatar billede arne_v Ekspert
20. marts 2004 - 10:11 #7
Det er:

kat[tekst/100] += pris;

som gør det.

tekst/100 returnerer 0,1,2,3,4 og det kalder jeg kategorien

kat er salg per kategori

efter ta have beregnet kategorien tæller man salget for den fundne kategori op
Avatar billede maxmuldjord Nybegynder
20. marts 2004 - 10:26 #8
Tak for din tålmodighed Arne! jeg forstår det meste men jeg kan ikke få ind i hovedet hvorfor tekst/100 returnere 0,1,2,3,4 ? Kan du uddybe det ?
Avatar billede arne_v Ekspert
20. marts 2004 - 10:28 #9
heltals division

1/100 = 0
...
99/100 = 0
100/100 = 1
...
199/100 = 1
200/100 = 2
...
Avatar billede arne_v Ekspert
20. marts 2004 - 10:28 #10
Jeg vil ligge et svar nu
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