有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何检查所选字符串中是否包含用户输入的字符串?

  • 报告源中的每个字符是否在目标中至少出现一次

  • 示例:containsAll(“abc”、“abracadabra”)为true,containsAll(“def”、“Defect”)为false

  • 实现说明:将其写为累加循环。不要试图编写双重嵌套循环

因此,我必须使用一个累加循环来基本上查看用户输入的字符串是否出现在所选字符串中

下面是我的代码,下面是我正在使用的测试用例

 public static boolean containsAll (String source, String target)
{
    boolean contains = false;
    scn = new Scanner (source); 


             String token = scn.next();


             if(target.contains(token) || token.isEmpty()) {
                 contains = true;
             }



        return contains;
}

这是测试用例。第一个不起作用,但其余的很好

@Test
public void testContainsAll ()
{
    assertTrue(containsAll("", ""));
    assertTrue(containsAll("abc", "abracadabra"));
    assertFalse(containsAll("def", "Defect"));
    assertFalse(containsAll("x", ""));
}

提前谢谢


共 (1) 个答案

  1. # 1 楼答案

    多亏了这些帮助。我的代码创建一个布尔变量并将其初始化为true。然后,我创建一个for循环,循环遍历用户输入字符串的所有字符,如果目标在迭代时不包含该字符的值,那么contains设置为false。否则,我返回先前初始化为true的contains

    public static boolean containsAll (String source, String target)
    {
    
        boolean contains = true;
    
        for (int i = 0; i < source.length(); i++)
        {
    
            if (!target.contains(String.valueOf(source.charAt(i))))
            {
                contains = false;
            }
        }
    
        return contains;
    
    }