如何使用if条件控制for循环,直到循环完成后才给出输出

问题描述 投票:0回答:1

我有一个方法,该方法具有一个带有一组规则的Map,我试图将这些规则应用于具有if条件的输入。

当条件匹配时,if将中断循环并返回匹配的值。如果没有条件匹配,我需要返回一个null输出,表明输入不满足任何给定条件。

我当前的代码如下

public static String matching(String input){

    HashMap<String, String> hm =  new HashMap<String, String>();

    //Key,Value pair in Hashmap represents Name of condition(Key) and Condition(value)    
    for (Map.Entry mapElement : hm.entrySet()) { 
        String value = mapElement.getValue();
        if(input.equals(condition)){
            return input;
            break;
        }
    }
    return null;
}

假设地图有5个条目,并且在第5个位置存在满足当前输入的条件。前四个测试返回null,并且当第5个位置的条件匹配时,它将返回该匹配条件。但是我只想在评估完地图中的所有条件后才返回输出。我尝试将else ifif放在循环中,但它给出的结果相同。

请,我该如何解决这个问题?

java loops for-loop
1个回答
0
投票

如果在if中有返回值,则for循环将中断并返回值。相反,如果不满意,则for循环将终止并在循环外返回null值。

一种方法中返回中断功能

© www.soinside.com 2019 - 2024. All rights reserved.