从数组中删除课程

时间:2016-05-06 02:27:12

标签: java arrays string

我在确定给定算法要求的内容时遇到问题。我不知道如何删除数组中的位置或者为数组中的最后一个位置指定null。这是算法:

found = searchToDelete( course )

IF (found == -1) THEN

Display message that course is not in student’s schedule
ELSE

IF (found == ( position of last course in array) THEN

course number = course number -1
         ELSE

FOR (index = found, index < course number, index++)

schedule [index] = schedule [index + 1]
                  END FOR

course number = course number - 1
          END IF
END IF 

这是我的代码:

public void dropCourse(String courseName){

found = searchToDelete(course);
int index = 0;
  if (found == -1){
  System.out.println("Course not in schedule");

   if (found = index(6)){
   courseNumber = courseNumber -1;

  for ( index = found, index < courseNumber, index ++);
  {
  schedule[index] = schedule[index + 1];
  }courseNumber = courseNumber -1;
   }
  }
 }

1 个答案:

答案 0 :(得分:0)

如果您不必像伪代码那样实现算法,我建议您使用类似ArrayList的List类。 ArrayList类有许多有用的功能,可以使您的代码更容易。

如果你必须使用一个数组,我建议你看一下arraycopy方法来替换原来的数组,因为你不能用Java调整数组的大小。

当然,你可以将条目schedule[courseNumber]设置为null(在减去courseNumber之后),但是你可能最终会得到一个主要由null组成的数组,并且,因为你无法调整数组的大小,如果它已满,你可能会遇到问题。