gpt4 book ai didi

java - 如何打破循环并将参数分配给数组对象

转载 作者:行者123 更新时间:2023-11-30 10:04:45 26 4
gpt4 key购买 nike

  1. 如果我输入其他数字,循环应该会停止,但它仍在循环。
  2. 向员工对象设置信息时出错。它究竟应该怎么写?
System.out.println("Enter '1' to add employee's information:");

int add = s.nextInt();

while(add==1){

for (int i=0; i<=employees.length; i++){

System.out.println("Enter the name :");
String newName = s.next();

System.out.println("Enter the IC number :");
String newIC = s.next();

System.out.println("Enter the department :");
String newdept = s.next();

employees[i] = new Employee();
employees[i].setEmployee(newName, newIC, newdept);

System.out.println("Enter '1' to add employee's information:");
add = s.nextInt();
}
}

结果是循环可以停止,我们可以为对象设置信息。

最佳答案

关键是以下结构:

while(add==1){
for (int i=0; i<=employees.length; i++){
// Code
add = s.nextInt();
}
}

看看你在这里指定了什么:

  • 检查add是否为1
  • 查看所有员工元素
    • 做某事
    • 设置添加到另一个值
  • 处理完所有员工后,重新开始

您的 add 变量在 for (i=0...) 期间没有任何作用循环,它总是完整地执行。

您可能希望切换 whilefor语句,或者简单地使用这样的东西:

 for (int i = 0; i < employees.length; i++) {
if (add != 1) break;
// ...
add = s.nextInt()
}

作为旁注,您需要检查 i < employees.length避免 ArrayIndexOutOfBoundsException .毕竟,长度是第一个无效索引。

欢迎使用 StackOverflow,继续学习。

关于java - 如何打破循环并将参数分配给数组对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55740318/

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