배열에서 항목을 삭제 한 다음 모든 요소를 한 색인 아래로 이동시켜 배열 끝에 빈 공간이 남게하는 코드가 있습니다. 문제는 배열의 마지막 항목이 삭제 된 색인으로 복제된다는 것입니다.배열 삭제 - 마지막 항목 복제
[entryOne, entryTwo, entryThree, entryFour, entryFive, entrySix, entrySeven, entryEight, entryNine, entryTen]
, 이것은 표시되는 내용입니다 :
[entryOne, entryTwo, entryThree, entryFour, entryFive, entrySeven, entryEight, entryNine, entryTen, entryTen]
이
모든 레코드가 입력 배열입니다최종 색인을 비우려면 어떻게해야합니까?
기록 코드를 추가
이static void addStudent() {
if (nameArrayCount < 10) {
System.out.println("Enter the student's name in the following format - surname, forename: ");
studentName = input.next();
studentNamesArray[nameArrayCount] = studentName;
nameArrayCount = nameArrayCount + 1;
}
else if (nameArrayCount == 10) {
System.out.println("******Array is full, please delete a student before adding another.*****");
}
if (markArrayCount < 10){
System.out.println("Enter the first mark: ");
markOne = input.nextInt();
System.out.println("Enter the second mark: ");
markTwo = input.nextInt();
System.out.println("Enter the third mark: ");
markThree = input.nextInt();
studentMarksArray[markArrayCount][0] = markOne;
studentMarksArray[markArrayCount][1] = markTwo;
studentMarksArray[markArrayCount][2] = markThree;
markArrayCount = markArrayCount + 1;
}
}
기록 코드를 삭제
static void deleteStudent() {
System.out.println("Which student would you like to delete?");
for(int i=0;i<10;i++) {
System.out.println(i + ": " + studentNamesArray[i]);
}
int studentChoice = input.nextInt();
for(int i = studentChoice+1; i<studentNamesArray.length; i++) {
studentNamesArray[i-1] = studentNamesArray[i];
}
nameArrayCount = nameArrayCount -1;
}
배열에 객체 또는 문자열이 있다고 가정하고 마지막 것을 null로 설정하십시오. 그러나 배열의 크기를 조정할 수는 없습니다. 대신 목록 사용을 고려 했습니까? – Taylor