java - 类中的函数

标签 java algorithm class

我需要为学院系写一个函数:

添加功能添加额外讲师。 如果没有地方可以添加讲师,Action 返回 false,如果讲师添加成功,同样返回 true。

到目前为止我写了什么:

public boolean newLecturer(Lecturer[] AllLecturer) {
    int MaxLecturer = 0;
    MaxLecturer = this.maxLecturer;
    int sum = 0;
    sum += 1;

    if (sum < MaxLecturer) {
        System.out.println("true");
        return true;
    }

    else {
        System.out.println("false");
        return false;
    }

}

该函数无法正常工作,它总是返回 true(因为 Max Lecturer 总是大于 sum)。

主要:

公共(public)课主要{

public static void main(String[]args){

Lecturer[] L1 = new Lecturer[]{new Lecturer("David",3,"Banana",1001)};  
Lecturer[] L2 = new Lecturer[]{new Lecturer("Yossi",5,"apple",1002)};   
Lecturer[] L3 = new Lecturer[]{new Lecturer("Y",2,"t",1003)};   

    College myCollege = new College("College1",20,L1,3);

    //System.out.println(myCollege);
    //myCollege.allLecturer=L2;
    //System.out.println(myCollege);

    myCollege.newLecturer(L1);
    myCollege.newLecturer(L2);
    myCollege.newLecturer(L3);
}
}

学院类(函数在这里):

public class College {

public String name;
public int numOfLecturer;
public Lecturer[] allLecturer;
public int maxLecturer;

// constructor
public College(String Name, int NumOfLecturer, Lecturer[] AllLecturer,
        int MaxLecturer) {
    this.name = Name;
    this.numOfLecturer = NumOfLecturer;
    this.allLecturer = AllLecturer;
    this.maxLecturer = MaxLecturer;
}

public College(String Name) {
    this.name = Name;
}

public College(Lecturer[] AllLecturer) {
    this.allLecturer = AllLecturer;
}

public boolean newLecturer(Lecturer[] AllLecturer) {
    int MaxLecturer = 0;
    MaxLecturer = this.maxLecturer;
    int sum = 0;
    sum += 1;

    if (sum < MaxLecturer) {
        System.out.println("true");
        return true;
    }

    else {
        System.out.println("false");
        return false;
    }

}

@Override
public String toString() {
    String lecturers = "";

    for (Lecturer lecturer : allLecturer) {
        lecturers += lecturer;

    }

    return "[Name College: " + name + "] " + " [num Of Lecturer: "
            + numOfLecturer + "]" + " [all Lecturer: " + lecturers + "]"
            + " [max Lecturer " + maxLecturer + "]";
}
}

类讲师:

public class Lecturer {
public String name;
public int numOfTimesPenFalls;
public String favoriteIceCream;
public int autoNumber;

// constructor
public Lecturer(String Name, int NumOfTimesPenFalls,
        String FavoriteIceCream, int AutoNumber) {
    this.name = Name;
    this.numOfTimesPenFalls = NumOfTimesPenFalls;
    this.favoriteIceCream = FavoriteIceCream;
    this.autoNumber = AutoNumber;
}

public Lecturer(String Name) {
    this.name = Name;

}

@Override
public String toString() {
    return "[name: " + name + "] " + " [num Of Times Pen Falls: "
            + numOfTimesPenFalls + "] " + " [favorite Ice Cream: "
            + favoriteIceCream + "] " + " [auto Number: " + autoNumber
            + "]";
}
}

最后我该如何打印它? 像这样给出编译器错误:

myCollege.newLecturer("David",2,"Apple",1004);

谢谢。

最佳答案

你是新来的;你需要很多帮助。

从学习和关注开始Java coding standards .变量名应以小写字母开头。类(class)从上层开始。偏离这一点会使您的代码难以阅读。

你的方法不对。你在那个类中需要这样的东西:

private static final int MAX_LECTURERS = 3;

private int numLecturers = 0;
private Lecturer [] lecturers = new Lecturer[MAX_LECTURERS];

public boolean addLecturer(Lecturer lecturer) {
    boolean addedLecturer = false;
    if (this.numLecturers < MAX_LECTURERS) {
        this.lecturers[numLecturers++] = lecturer;
        addedLecturer = true;
    }
    return addedLecturer;
}

以下是您如何使用此方法:

Lecturer newLecturer = new Lecturer("foo", 1, "bar", 3);
college.addLecturer(newLecturer);

请停止那些数组废话。该数组位于 College 类中。

关于java - 类中的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37099380/

相关文章:

java - Espresso onData 在 View 上执行 'load adapter data' 时出错

algorithm - 来自算法的递归方程

c++ - 如何判断两个节点是否相互连接?

Java计算MPG错误

Java类与数组内存大小?

java - 在 Cucumber 框架中的报告中生成 json 之后,在哪里调用 jar 文件(ATM)?

java - 如何在不删除 TestNG 中的堆栈帧的情况下获得完整的 AssertionError 报告?

java - 更改 "overflow"样式时如何停止重新加载 Java 小程序

python - 使用 matplotlib 求解多边形中的点

java - 使用扩展类的方法