Pomoc w zadaniu - sklep online z magazynami

0

Witam wszystkich forumowiczow. Jestem nowy w Java i prosze o pomoc w zadanu.
Mam problem z druga czescia programu nad ktorym pracuje. Jest to program sluzacy do zamawiania 3 roznych gazet gdzie uzytkownik moze wybrac tylko 3 gazety z posrod 8gazet. kazda z tych gazet ma inna nazwe. po wybraniu nazwy gazety uzytkownik moze wybrac jakakolwiek ilosc tej gazety.
Do kazdej gazety przypisana jest cena(double).
Program powinie kalkulowac koszt calkowity za gazety ktore zostaly wybrane.

ponizej zamieszczam ceny i gazety.
You can assume the Magazine shop only sells the following:

  • Little Kid magazine €1.30
  • Teen Scene magazine €2.45
  • Economist magazine €3.30
  • PC Today magazine €2.75
  • Best Tech Magazine €4.50
  • Philosophy Today €4.40
  • Writer’s Forum €5.00
  • Health magazine €3.50
    Your system will allow customers to purchase any number of three type of magazines (must be exactly three) and input the quantities required of those types of magazines and the total cost should be calculated and displayed to the customer.

jesli ktos jest mi w stanie pomoc to bardzo dziekuje.
Dubliner

0

A z czym konkretnie masz problem? Bo jeśli szukasz kogoś, kto zrobi to za Ciebie to podaj od razu cenę a nie jakieś podchody.
Nie napisałeś czy to jest aplikacja w swingu, czy webowa czy może konsolowa...

0

Czepiam się, ale " moze wybrac tylko 3 gazety" a poniżej " (must be exactly three)". Druga sprawa - ma to działać przez WWW, czy jakaś aplikacja dedykowana, czy jeszcze inaczej (jak)?

0

Dzieki za tak szybkie odpowiedzi.
Nie chce zeby ktos napisal kod tylko zeby mi podowiedzial jak to ugryzc.
musze napisac kod w netbeans tak zeby dzialal.
Jestem na pierwszym roku comp Science i to zadanie jest z java develop.
nie wiem jakiej metody uzyc bo jak na razie pobowalem z if statement do 8 gazet

      int mag1;
               int mag2;
               int mag3;
               
               int magazine1Number;
               int magazine2Number;
               int magazine3Number;
       
       
               System.out.println("Enter the first type of Magazine (e.g. 1) ");
       mag1=in.nextInt();
       System.out.println("How many of these would you like to order? ");
       magazine1Number=in.nextInt();
       
       System.out.println("Enter the first type of Magazine (e.g. 2) ");
       mag2=in.nextInt();
       System.out.println("How many of these would you like to order? ");
       magazine2Number=in.nextInt();
       
       System.out.println("Enter the first type of Magazine (e.g. 3) ");
       mag3=in.nextInt();
       System.out.println("How many of these would you like to order? ");
       magazine3Number=in.nextInt();
       
       if ( mag1==1||mag2==1||mag3==1 )
        {
            price=Type1;
        }
       if  ( mag1==2||mag2==2||mag3==2 )
       {
            price=Type2;
        }
       if ( mag1==3||mag2==3||mag3==3 )
       {
            price=Type3;
        }
       if ( mag1==4||mag2==4||mag3==4 )
       {
            price=Type4;
        }
       if ( mag1==5||mag2==5||mag3==5 )
       {
            price=Type5;
        }
       if ( mag1==6||mag2==6||mag3==6 )
       {
            price=Type6;
        }
       if ( mag1==7||mag2==7||mag3==7 )
       {
            price=Type7;
        }
       if ( mag1==8||mag2==8||mag3==8 )
       {
            price=Type8;
        }
       
       cost1=price*magazine1Number;
       
       totalCost=mag1+mag2+mag3;

mylalem ze bedzie ok ale przy sprawdzaniu czy programik dziala wychodzi mi za duza cena calkowita
jest to tylko 2 czesc zadania.
z pierwsza nie mialem wiekszych problemow i jest jeszcze trzecia czesc z ktoro sobie poradze.
(na koncu trec zadania oprocz 3 czesci ktora ma tylko obliczyc procent znizki jesl cena bedzie w podanym przedziale)

Z czym mam problem to jaka metode wybrac? if statement? czy swich? bo takowe tylko mielismy dotychczas na zajeciach.
moze macie jakies inne pomysly?
dzieki

You have been asked to write a software program that allows users to order magazines online.

A user has a username and password stored in the system, (assume the user has registered in the system and been assigned a username and password (you should assign these values) ).A user name should be exactly 6 characters, and password should be exactly 5 characters and password must contain at least one time the number one. When a user logs in they enter their username and password and your program should check that the entered username and password are exactly the length agreed and that they match the stored username and password.

The system needs to store the user’s Name, Address, Credit Card number(use a String) and type (e.g. MasterCard or Visa), and Date of Birth (for customer profiling). The user should be allowed to enter these details at the console.

You can assume the Magazine shop only sells the following:
• Little Kid magazine €1.30
• Teen Scene magazine €2.45
• Economist magazine €3.30
• PC Today magazine €2.75
• Best Tech Magazine €4.50
• Philosophy Today €4.40
• Writer’s Forum €5.00
• Health magazine €3.50

Your system will allow customers to purchase any number of three type of magazines (must be exactly three) and input the quantities required of those types of magazines and the total cost should be calculated and displayed to the customer.

0
fourfour napisał(a):

Czepiam się, ale " moze wybrac tylko 3 gazety" a poniżej " (must be exactly three)". Druga sprawa - ma to działać przez WWW, czy jakaś aplikacja dedykowana, czy jeszcze inaczej (jak)?

No tak. moze wybrac 3 gazety z posrod 9-ciu i kazda z tych 3 gazet moze zamowic ile chce

1

To co zrobiłeś to jest jakaś abominacja i WTF. Zrób klasę Magazine która zawiera nazwę magazynu (string) i cenę (double). Następnie stwórz klasę Order gdzie będziesz miał hashmape Map<Magazine, Integer> gdzie dla wybranych magazynów wpiszesz ich liczbę. Zrób też klasę Stock w której utworzysz sobie wszystkie potrzebne obiekty Magazine i będziesz przechowywał w jakieś List<Magazine> (najlepiej byłoby je wczytać z pliku, ale mozesz też je tworzyc ręcznie).
Sam program w takiej sytuacji będzie zupełnie trywialny -> Wczytujesz od użytkownika które magazyny chce kupić, wyciągasz je ze Stock, tworzysz obiekt Order i dodajesz do niego te wybrane Magazine z ich ilością. W klasie Order masz prostą metodę która przelatuje po zawartości mapy i dla każdego elementu robi liczba*magazine.getPrice() i sumujesz sobie te wartości.

I błagam, zrób to myśląc a nie klepiąc kod. Napisz to tak, żeby nie kopiować kodu! Zrób pętlę która wczytuje input od użytkownika! Czy gdybyś miał do wybrania 1000 magazynów spośród 1000000 to też byś tak próbował to zrobić jak pokazałeś wyżej? Czy wtedy włączyłbyś myślenie?

0

Dzieki wielkie shalome. Nie jestem tak daleko jak Ty z programowaniem i moze nigdy nie bede.
~Mozesz mi napisac jak stworzyc klasę Magazine która zawiera nazwę magazynu (string) i cenę (double)?

0

Na przykład tak:

package iolab9;

public class Magazine {
    private String name;
    private double price;

    public Magazine(String name, double price) {
        this.name = name;
        this.price = price;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public double getPrice() {
        return price;
    }

    public void setPrice(double price) {
        this.price = price;
    }
} 

A na początku zapoznaj się z jakimś podstawami np z javastart.

0

ok. kod juz napisany.
dzieki za pomoc

1 użytkowników online, w tym zalogowanych: 0, gości: 1