2016-05-06 6 views
0

特定のアルゴリズムが求めているものを決定する際に問題があります。配列内の場所を削除する方法や、配列内の最後の場所に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; 
    } 
    } 
} 
+0

あなたの質問を少し整形してみませんか?読みやすくなります。 –

+0

うん。あなたは 'searchToDelete()' –

+0

を表示できますか?私のコード全体を表示するともっと役に立ちますか? – Cuse

答えて

0

あなたは正確に擬似コードのようなアルゴリズムを実装する必要がない場合、私はあなたのようなListクラスを使用することをお勧めArrayList。 ArrayListクラスには、コードを簡単にする便利な機能がたくさんあります。

配列を使用する必要がある場合は、Javaで配列のサイズを変更できないため、arraycopyメソッドを使用して元の配列を置き換えることをお勧めします。

もちろん、schedule[courseNumber]をnullに設定することはできますが(courseNumberをデクリメントした後)、大部分がnullで構成されている配列を作成する可能性があります。また、配列のサイズを変更できないため、おそらくそれが満杯になった場合に何かを追加するときに問題に遭遇します。

+0

残念ながら私はこの割り当てにarraylistを使用することはできませんので、スケジュール[courseNumber]のnullを設定するにはどうすればいいでしょうか?schedule [courseNumber] = nullのように見え、コースナンバー-1 @ sandbo00 – Cuse

関連する問題