Я делаю упражнение по кодированию, в котором я в основном создаю небольшое приложение для магазина, и я очень новичок в 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()
в качестве параметра?