以下Java方法应该从用户通过键盘输入一个字符串(人的姓名),在名为
name [] 的数组中搜索该姓名,并从该数组中删除该人的姓名(通过分配name [i] =“INVALID”)。
代码尝试使用Scanner类对象del_name 接受输入字符串(人的姓名),但我在语句中得到了NoSuchElementException
。
s=del_name.next();
即从顶部开始的第4个语句。
如果有人能提供解决方案并解释为什么这段代码无法正常工作,我将非常感激。(谢谢)
void Deletee()
{
Scanner del_name=new Scanner(System.in);
String s;
System.out.println("Enter the name to be deleted");
s=del_name.next(); // causing NoSuchElementException
int i=0;
/* find position in which the name occurs using while-loop below */
while(!s.equalsIgnoreCase(name[i]) && i<count)
i++ ; // increment i to search in next array index
if(i<count)
{
name[i]="INVALID";
count--;
System.out.println("Deletion Successful");
}
else
{
System.out.println("No such person exist");
}
del_name.close();
}