首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Java中使用for循环时,如何实现返回语句?

在Java中使用for循环时,如何实现返回语句?
EN

Stack Overflow用户
提问于 2015-10-20 14:08:41
回答 2查看 1.7K关注 0票数 1

如果变量elt存在于数组中,则创建一个返回变量elt的方法。如果数组中不存在它,则需要返回null。

问题是,我正在使用for -循环中的if语句检查数组中每个项中的变量elt。我不认为我可以在for-循环中if语句的末尾放一个返回语句,因为每次它执行if语句时,潜在的返回值都是不同的。我认为这将产生一个新的返回值,每次for-循环被循环。为了解决这个问题,我创建了一个名为exist的布尔临时变量。如果为true,则该方法将返回变量elt。如果为false,则返回null。下面是我正在使用的代码。

代码语言:javascript
运行
复制
public T remove(T elt) {
        boolean exist;

        for (int i=0; i<data.length; i++) {
            if (data[i] == elt) {
                data[i] = null;
                size--;
                exist = true;
                System.out.println(exist);

                for (++i; i < data.length; i++) {
                    data[i-1] = data[i];
                }
            }
        }
        if (exist = true)
            return elt;
        else
            return null;
    }

我的问题是,是否有一种方法可以在不使用temp变量的情况下将返回语句封装在方法中?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-10-20 14:17:36

您几乎可以在任何地方放置返回语句。

要回答您的问题,您可以在内部for循环后面放一个返回,如下所示:

代码语言:javascript
运行
复制
public T remove(T elt) {

    for (int i=0; i<data.length; i++) {
        if (data[i] == elt) {
            data[i] = null;
            size--;
            System.out.println(exist);

            for (++i; i < data.length; i++) {
                data[i-1] = data[i];
            }

            return elt;
        }
    }

    return null;
}
票数 3
EN

Stack Overflow用户

发布于 2015-10-20 14:14:19

没有必要使用一个额外的变量。您可以直接从for循环返回。而不是写exist = true,写return elt,最后写

代码语言:javascript
运行
复制
if (exist = true)
            return elt;
        else
            return null;

只需编写return null,以便如果elt不存在,它将返回null。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33238974

复制
相关文章

相似问题

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