Avatar billede 3072 Nybegynder
10. juni 2003 - 01:59 Der er 10 kommentarer

Sidste problemer i BlueJ

Er der nogen der kan fortælle mig hvordan jeg får den til at fungerer i Maxiletter og hvordan jeg får den til kun at beregne portoen ud fra vægt og land?
Avatar billede dash Nybegynder
10. juni 2003 - 02:13 #1
hvad initialiserer du maxiletter med?
Avatar billede dash Nybegynder
10. juni 2003 - 02:45 #2
hmmm...har jeg fortjent pointene....:-) Det er op til dig.
Avatar billede simonvalter Praktikant
10. juni 2003 - 03:33 #3
hmm .. er det bare mig eller begynder alle de brev spm at blive lidt irriterende ..
dette spm giver ikke meget mening hvis man ikke har fulgt med i de andre ..
3072 og hvad de andre tal brugere nu hedder .. nu er det godt nok ikke op til mig hvordan i skal oprete jeres spørgsmål .. men det ser meget ud til at i sidder samme sted og laver opgaverne .. hvorfor ikke snakke lidt sammen
og så vil jeg også godt tilføje at normalt er brugerne her meget hjælpsomme og har som regel ikke noget imod at man smider et tillægsspørgsmål i samme spm .. så kan i bare oprette et spm med extra point med ref. til det hvis de kræver point for det.
nu syntes jeg snart jeg har siddet i en uge og kigget på det samme spm i lidt forskellige variationer .. men det er måske bare mig ?
Avatar billede arne_v Ekspert
10. juni 2003 - 07:05 #4
loadet>

Nej der har været en del brev spørgsmål !

:-)
Avatar billede arne_v Ekspert
10. juni 2003 - 07:08 #5
3072>

Hvis vi tager kodne fra http://www.eksperten.dk/spm/362201, så
ser den da ud til at virke for maxiletter også:

/**
* Letter information what kind of letter are we dealing with defined by length,
* width, thickness and weight.
*
* @author (your name)
* @version (a version number or a date)
*/
public class Category {
    // instance variables
    private int length, width, weight;
    private double thickness;
    private String country;

    /**
    * Constructor for objects of class Category
    */
    public Category(int l, int w, int we, double t, String c) {
        // initialise instance variables
        length = l;
        width = w;
        weight = we;
        thickness = t;
        country = c;
    }

    //*Find out which type of letter we are dealing with according to weight,width, length and thicknes.*/

    public String getType() {
        if ((length <= 23)
            && (width <= 17)
            && (weight <= 50)
            && (thickness <= 0.5)) {
            return "Standardletter";
        } else if (
            (length <= 33)
                && (width <= 23)
                && (weight <= 1000)
                && (thickness <= 2)) {
            return "Largeletter";
        } else if (
            (length <= 60)
                && (length + width + thickness <= 90)
                && (weight <= 2000)) {
            return "Maxiletter";
        } else {
            return "Not a letter";
        }
    }

    //* Then we have to make the postage calculation according to weight and country.*/

    public double calculatePostage() {
        if ((getType().equals("Standardletter"))
            && (weight <= 50)
            && country.equals("Denmark")) {
            return 4.25;
        }

        if ((getType().equals("Standardletter"))
            && (weight <= 50)
            && country.equals("Europ, The Faroes Island and Greenland")) {
            return 5.50;
        }

        if ((getType().equals("Standardletter"))
            && (weight <= 50)
            && country.equals("Other foreign countries")) {
            return 6.50;
        }

        if ((getType().equals("Largeletter"))
            && (weight <= 50)
            && country.equals("Denmark")) {
            return 5.50;
        }

        if ((getType().equals("Largeletter"))
            && (weight <= 100)
            && country.equals("Denmark")) {
            return 6.50;
        }

        if ((getType().equals("Largeletter"))
            && (weight <= 250)
            && country.equals("Denmark")) {
            return 12.00;
        }

        if ((getType().equals("Largeletter"))
            && (weight <= 500)
            && country.equals("Denmark")) {
            return 20.00;
        }

        if ((getType().equals("Largeletter"))
            && (weight <= 1000)
            && country.equals("Denmark")) {
            return 28.00;
        }

        if ((getType().equals("Largeletter"))
            && (weight <= 50)
            && country.equals("Europe, The Faroes Island and Greenland")) {
            return 8.50;
        }
        if ((getType().equals("Largeletter"))
            && (weight <= 100)
            && country.equals("Europe, The Faroes Island and Greenland")) {
            return 12.00;
        }

        if ((getType().equals("Largeletter"))
            && (weight <= 250)
            && country.equals("Europe, The Faroes Island and Greenland")) {
            return 19.00;
        }

        if ((getType().equals("Largeletter"))
            && (weight <= 500)
            && country.equals("Europe, The Faroes Island and Greenland")) {
            return 33.00;
        }

        if ((getType().equals("Largeletter"))
            && (weight <= 1000)
            && country.equals("Europe, The Faroes Island and Greenland")) {
            return 57.00;
        }

        if ((getType().equals("Largeletter"))
            && (weight <= 50)
            && country.equals("Other foreign countries")) {
            return 11.50;
        }

        if ((getType().equals("Largeletter"))
            && (weight <= 100)
            && country.equals("Other foreign countries")) {
            return 18.00;
        }

        if ((getType().equals("Largeletter"))
            && (weight <= 250)
            && country.equals("Other foreign countries")) {
            return 33.00;
        }

        if ((getType().equals("Largeletter"))
            && (weight <= 500)
            && country.equals("Other foreign countries")) {
            return 56.00;
        }

        if ((getType().equals("Largeletter"))
            && (weight <= 1000)
            && country.equals("Other foreign countries")) {
            return 95.00;
        }

        if ((getType().equals("Maxiletter"))
            && (weight <= 50)
            && country.equals("Denmark")) {
            return 7.00;
        }

        if ((getType().equals("Maxiletter"))
            && (weight <= 100)
            && country.equals("Denmark")) {
            return 9.00;
        }

        if ((getType().equals("Maxiletter"))
            && (weight <= 250)
            && country.equals("Denmark")) {
            return 15.00;
        }

        if ((getType().equals("Maxiletter"))
            && (weight <= 500)
            && country.equals("Denmark")) {
            return 24.00;
        }

        if ((getType().equals("Maxiletter"))
            && (weight <= 1000)
            && country.equals("Denmark")) {
            return 32.00;
        }

        if ((getType().equals("Maxiletter"))
            && (weight <= 2000)
            && country.equals("Denmark")) {
            return 40.00;
        }

        if ((getType().equals("Maxiletter"))
            && (weight <= 50)
            && country.equals("Europe, The Faroes Island and Greenland")) {
            return 14.00;
        }

        if ((getType().equals("Maxiletter"))
            && (weight <= 100)
            && country.equals("Europe, The Faroes Island and Greenland")) {
            return 19.00;
        }

        if ((getType().equals("Maxiletter"))
            && (weight <= 250)
            && country.equals("Europe, The Faroes Island and Greenland")) {
            return 26.00;
        }

        if ((getType().equals("Maxiletter"))
            && (weight <= 500)
            && country.equals("Europe, The Faroes Island and Greenland")) {
            return 41.00;
        }

        if ((getType().equals("Maxiletter"))
            && (weight <= 1000)
            && country.equals("Europe, The Faroes Island and Greenland")) {
            return 65.00;
        }

        if ((getType().equals("Maxiletter"))
            && (weight <= 2000)
            && country.equals("Europe, The Faroes Island and Greenland")) {
            return 100.00;
        }

        if ((getType().equals("Maxiletter"))
            && (weight <= 50)
            && country.equals("Other foreign countries")) {
            return 19.00;
        }

        if ((getType().equals("Maxiletter"))
            && (weight <= 100)
            && country.equals("Other foreign countries")) {
            return 27.00;
        }

        if ((getType().equals("Maxiletter"))
            && (weight <= 250)
            && country.equals("Other foreign countries")) {
            return 41.00;
        }

        if ((getType().equals("Maxiletter"))
            && (weight <= 500)
            && country.equals("Other foreign countries")) {
            return 61.00;
        }

        if ((getType().equals("Maxiletter"))
            && (weight <= 1000)
            && country.equals("Other foreign countries")) {
            return 105.00;
        }

        if ((getType().equals("Maxiletter"))
            && (weight <= 2000)
            && country.equals("Other foreign countries")) {
            return 175.00;
        } else {
            return -1.0;
        }
    }
    public static void main(String[] args) {
        Category brev = new Category(25,10,200,1,"Denmark");
        System.out.println(brev.calculatePostage());
        Category brev2 = new Category(55,10,200,1,"Denmark");
        System.out.println(brev2.calculatePostage());
    }
}
Avatar billede arne_v Ekspert
10. juni 2003 - 07:09 #6
Output:

12.0
15.0

hvilket da vistnok er korrekt.

Logikken er er iøvrigt sådan at du skal bruge de 3 dimensioner til at beregne
type med og så type+vægt+destination til at beregne porto med.

D.v.s. at dimensionerne implicit indgår i porto beregningen.
Avatar billede 3072 Nybegynder
10. juni 2003 - 09:23 #7
Jeg har fået det til at virke det var dejligt, så tusind tak for  hjælpne alle mand.
Avatar billede arne_v Ekspert
24. juni 2003 - 20:57 #8
3072>

Tid at lukke spørgsmålet så ?
Avatar billede arne_v Ekspert
11. juli 2003 - 19:10 #9
??
Avatar billede arne_v Ekspert
27. august 2003 - 23:58 #10
??
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

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