Quantcast
Channel: Forum Pasja Informatyki - Najnowsze pytania i odpowiedzi
Viewing all articles
Browse latest Browse all 83249

Problem z warunkiem.

$
0
0

Użyty wzorzec: Builder.

Problem: Warunek if.

Opis Problemu: Spodziewał się wartości, dostał klasę.

Status błędu: Krytyczny. Nie pozwala dokończyć budowę obiektów ;/.

Miejsce błędu:

public void construct(boolean isCreateBuyer, int index){
        
        if (isCreateBuyer == true){
            buildBuyer(index);
        }
        else {
            buildSeller(index);
        }  
   }// O to się pruje.

Pozostała części metody w klasie:

    private void buildBuyer (int index){
        buildUser();
        buyer.buildtoID(index);
        buyer.buildToName(inputName);
        buyer.buildToSurName(inputSurName);
        buyer.buildToLogin(inputLogin);
        buyer.buildToEmail(inputEmail);
        buyer.buildToTrustyPoint(inputTrustyPoint);
        buyer.returnProduct();
        
    }
    private void buildSeller(int index){
        buildUser ();
        seller.buildtoID(index);
        seller.buildToName(inputName);
        seller.buildToSurName(inputName);
        seller.buildToLogin(inputLogin);
        seller.buildToEmail(inputEmail);
        seller.buildToTrustyPoint(inputTrustyPoint);
        buildAuction();
        seller.buildToNameAuction(inputNameAuction);
        seller.buildToDescriptionAuction(inputDescriptionAuction);
        seller.buildToStartPrize(inputStartPrize);
        seller.buildToLongTimeAuction(inputLongTimeAuction);
        seller.buildToMinTrustyPoint(inputMinTrustyPoint);
        seller.returnProduct();
    }

    private void buildAuction (){
        System.out.println("Podaj nazwę aukcji");
        inputNameAuction = input.nextLine();
        System.out.println("Podaj opis aukcji");
        inputDescriptionAuction = input.nextLine();
        System.out.println("Podaj cenę początkową");
        inputStartPrize = input.nextDouble();
        System.out.println("Podaj czas aukcji");
        inputLongTimeAuction = input.nextInt();
        System.out.println("Podaj minimum punktów zaufania");
        inputMinTrustyPoint = input.nextInt();
        
                
    }
            
    private void buildUser(){
        System.out.println("Podaj imię osoby kupującej");
        inputName = input.nextLine();
        System.out.println("Podaj nazwisko osoby kupującej");
        inputSurName = input.nextLine();
        System.out.println("Podaj login");
        inputLogin = input.nextLine();
        System.out.println("Podaj email");
        inputEmail = input.nextLine();
        System.out.println("Podaj ilośc punktów");
        inputTrustyPoint = input.nextInt();
    }
    
            
    public BuyerBuilder getBuyer() {
        return buyer;
    }

Jeżeli zajdzie, potrzeba podam konkretnych budowniczych.

EDIT: Już wiem, o co chodziło. Nie chodziło o samą klasę Scanner, ale o to że inicjowałem metody z klasy buyer, nie inicjując samego obiektu. Co ciekawe, viewer code nie stwierdzał problemu , że chcę inicjować metody nie zinicjonowanej klasy. Zostawiam to jako przestrogę, bo praktycznie wykosiłem całą klasę, ale w końcu go znalazłem. Nie mówiąc o straconych nerwach , dziękuje wszystkim za pomoc. Mam nadzieję, że nie będzie już problemów.


Viewing all articles
Browse latest Browse all 83249

Latest Images

Trending Articles