首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >搜索和删除数组中的错误

搜索和删除数组中的错误
EN

Stack Overflow用户
提问于 2014-04-18 13:45:42
回答 4查看 61关注 0票数 1

在我的程序中,我首先搜索一个值,如果它存在,给出数组位置,如果没有给出-1,但当我试图在程序中返回错误消息时,输入的值找不到,因此没有删除,我收到了一个实际的错误。这听起来可能令人困惑,如果您看不到我的代码,我可以尝试解释更多。有人能帮帮忙吗?

代码语言:javascript
运行
复制
private int search(int s){
    int position = 0;
    while(nums[position] != s){
        if(position < size)
            position++;
        else
            position = -1;
    }
    return position;
}
public void delete(int d){
    int value = search(d);
    if(search(d) == -1){
        System.out.println("The value " + d + " was not found and cannot be deleted");
    }
    else

    for(int n = size; n > value; n--)
        nums[value] = nums[size];
}

我收到错误

代码语言:javascript
运行
复制
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: -1
at Numbers.search(Numbers.java:44)
at Numbers.delete(Numbers.java:53)
at Assignment7.main(Assignment7.java:31)
EN

Stack Overflow用户

发布于 2014-04-18 13:49:03

我不懂Java,但我了解C#。我认为搜索方法会搜索现有的条目。

不要使用if条件。

在搜索代码和Catch块中捕获异常,执行以下操作:

代码语言:javascript
运行
复制
System.out.println("The value " + d + " was not found and cannot be deleted");
票数 0
EN
查看全部 4 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23148154

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档