Как закодировать очень простой логин пользователя в Java? - PullRequest
0 голосов
/ 29 мая 2020

Я делаю упражнение по кодированию, в котором я в основном создаю небольшое приложение для магазина, и я очень новичок в Java

Однако у меня возникли проблемы, я хочу написать метод под названием setPrice(), который позволяет пользователю изменять цену объекта Content, войдя в систему и объявив цену

Это класс Admin (он расширяет пользователя, я его тоже включу). В классе Admin есть закомментированный код, который я пытался использовать для вызова входа в систему (хотя я не уверен, что это правильный способ go об этом:

import java.util.Scanner;

public class Admin extends User {

    //class attributes
    String password;
    int privilegeLevel;
    boolean loggedIn;
    Scanner console = new Scanner(System.in);

    public Admin(String id, String name, String pass, int level) {
        super(id, name);
        password = pass;
        privilegeLevel = level;
    }

    public String getPassword() {
        return password;
    }

    public int getLevel() {
        return privilegeLevel;
    }

//  public void login() {
//      System.out.println("Please enter your password.");
//      String passwordAttempt = console.next();
//      
//      if (password.contentEquals(passwordAttempt)) {
//          System.out.println("Log in successful");
//          loggedIn = true;
//      }else {
//          loggedIn = false;
//      }
//  }

}



public abstract class User {
    //Content Attributes
    private String ID;
    private String userName;

    public User(String id, String name) {
        ID = id;
        userName = name;
    }

    public void changeName(String newName) {
        this.userName = newName;

    }

    public String getUserID() {
        return ID;
    }

    public String getUsername() {
        return userName;
    }



}

Часть приведенного мне кода, который должен вызывать метод setPrice(), выглядит следующим образом: b1.setPrice(a2.login(), 14.25);. Где b1 - это Book, которое является расширением класса Content:

public abstract class Content {

    // Content Attributes
    private String contentName;
    private String contentID;
    private double contentPrice;
    private int downloadCount= 0;
    private Comment[] comments = new Comment[100];
    private int commentCount = 0;

    // Constructor
    public Content(String ID, String Name, double price) {
        this.contentID = ID;
        this.contentName = Name;
        this.contentPrice = price;

    }

    public Content(String ID, String Name) {
        this.contentID = ID;
        this.contentName = Name;
        this.contentPrice = 0;

    }
import java.util.ArrayList;

public class Book extends Publication{
    //attributes
    private String[] authorNames;


    // constructor
    public Book(String ID, String name, double price, String publisher, int numberPages, String[] authors1){
        super(ID, name, price, publisher, numberPages);
        this.authorNames = authors1;
    }

    // accessor methods
    public String[] getAuthorName() {
        return authorNames;
    }

    public String[] getAuthorNames() {
        return authorNames;
    }
    }

В принципе, я могу решить, что писать в методе, я просто не могу понять, как позволить методу принимать a2.login() в качестве параметра?

1 Ответ

0 голосов
/ 29 мая 2020

Вы можете изменить свой login() код, как показано ниже:

public boolean isloggedIn() {
      System.out.println("Please enter your password.");
      String passwordAttempt = console.next();

      if (password.contentEquals(passwordAttempt)) {
          System.out.println("Log in successful");
          loggedIn = true;
      }else {
          loggedIn = false;
      }
      return loggedIn;
  }

И ваш метод setPrice (), как показано ниже:

void setPrice(boolean isLoggedIn, Double value)
  {
      if(isLoggedIn)
      {
          //set the price
      }
  }

Затем вы можете позвонить:

b.setPrice(a2.isloggedIn(), 14.25);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...