首页 > 解决方案 > 如何从不同的类中增加实例变量?

问题描述

我首先根据学生想要注册的课程数量为学生的余额设置一个班级(更多细节将在稍后添加)。我的问题是我找不到增加主类中的余额变量的方法?

public class StudentBalance {

    private int balance;


    public StudentBalance() {
    }

    public int getBalance() {
        return balance;
    }

    public void setBalance(int balance) {
        this.balance = balance;
    }

 }
public class newTest {

static ArrayList<String> courses = new ArrayList<>();
private static StudentBalance newBalance = new StudentBalance();
private static Scanner scanner = new Scanner(System.in);

public static void main(String[] args) {
    boolean start = true;

    while (start) {

        System.out.println("1 for subjects and 2 to print");
        int choice = scanner.nextInt();
        switch (choice) {
            case 1:
                courseChoice();
                break;
            case 2:
                printStudentsSubject();
                break;
            default:
                start = false;

        }


    }
}

static void printStudentsSubject() {
    System.out.println("Enrolled students subject list: ");
    for (int i = 0; i < courses.size(); i++) {
        System.out.println((i + 1) + ": " + courses.get(i) +
                "\nBalance: " + newBalance.getBalance()
                + "\n #################################");


    }
}

我试图找到一种方法,每次将课程添加到实例变量 Balance 时添加 9000。比我想打印它,但我不能做第一部分。

private static void courseChoice() {

    int price = 9000;
    System.out.println("ENTER SUBJECT: \n");
    String studentsCourses = scanner.next();
    courses.add(studentsCourses);
    if (courses.size() > 0) {
        newBalance.setBalance(price);
    }


}

}

标签: javaarraysvariables

解决方案


为什么要使用 StudentBalance 课程?您可以简单地定义一个整数 (int) 并添加您想要的数量。

像这样。

studentBalance += price;

否则,您将创建一个 addCourse-Method。

private void addCourse(string name, int price)
{
    courses.add(name);
    newBalance.setBalance(newBalance.getBalance + price)
}

每次添加新课程时都会调用此方法。然后使用参数定义名称和价格。


推荐阅读