我目前正在做一个多班作业,我必须根据程序中是否存在先决条件来添加一门课程。我使用哈希图将我的课程存储在程序类中。(以为我会派上用场)但是,我在确保这些 preReqs 存在时遇到了一些麻烦。这是我目前正在执行的一些代码
public boolean checkForCourseFeasiblity(AbstractCourse c) throws ProgramException
{
AbstractCourse[] tempArray = new AbstractCourse[0];
tempArray= courses.keySet().toArray(tempArray);
String[] preReqsArray = new String[1];
preReqsArray = c.getPreReqs();
//gets all course values and stores them in tempArray
for(int i = 0; i < preReqsArray.length; i++)
{
if(courses.containsKey(preReqsArray[i]))
{
continue;
}
else if (!courses.containsKey(preReqsArray[i]))
{
throw new ProgramException("preReqs do not exist"); //?
}
}
return true;
}
好的,所以基本上, tempArray 将所有 keySet 存储在课程哈希图中,我需要将它们与 preReqs (这是一个字符串数组)进行比较。如果密钥集中存在 preReqs,则添加课程,如果他们不添加课程。如果课程通过我添加了异常,则返回 true。请记住,我的键集是字符串,例如键集值可以是“Programming1”,而课程所需的先决条件可能是“programming1”。如果是这种情况,请添加课程,因为密钥集中存在 prereq 课程。我相信我的错误是当我用 c.getPreReqs 初始化 mypreReqsArray 时(注意:getPreReqs 是一个返回类型为 String[] 的 getter)。如果有人能帮助我解决我的困境,那就太好了。我试图提供尽可能多的东西,