gpt4 book ai didi

java - else 语句多次打印 - 数组循环

转载 作者:行者123 更新时间:2023-12-01 13:46:50 26 4
gpt4 key购买 nike

我希望我的代码循环遍历一个数组,并且仅在数组中有值时才为用户提供删除学生的选项。如果所有数组值都为空,那么我希望它打印出一条消息。问题是我的消息针对数组中的每个空元素多次打印。

我的代码:

  static void deleteStudent() {
for (int i = 0;i < 10;i++) {
if (studentNamesArray[i] != null) {
System.out.println("Which student would you like to delete?");
System.out.println(i + ": " + studentNamesArray[i]);
int studentChoice = input.nextInt();
for (i = studentChoice + 1;i < studentNamesArray.length; i++) {
studentNamesArray[i-1] = studentNamesArray[i];
}
nameArrayCount = nameArrayCount -1;
studentNamesArray[studentNamesArray.length - 1] = null;
for(i = studentChoice + 1;i < 9;i++) {
for(int y = 0;y < 3;y++) {
studentMarksArray[i-1][y] = studentMarksArray[i][y];
}
}
markArrayCount = markArrayCount - 1;
for(int y = 0;y < 3;y++) {
studentMarksArray[9][y] = 0;
}
} else {
System.out.println("There are no students stored");
}
}
}

最佳答案

else block 在每次循环迭代中运行。如果您只想在最后运行一次,请执行以下操作:

boolean studentFound = false;

for (int i = 0;i < 10;i++) {
if (studentNamesArray[i] != null) {
studentFound = true;
...

然后在for之后:

if (!studentFound) {
System.out.println("There are no students stored");
}

关于java - else 语句多次打印 - 数组循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20304458/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com