如何在Java中使用boolean contains(CharSequence s)方法?

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

如何将所需的序列(“admin”)传递给 contains 方法?

class containstest
{
    public static void main( String [] args)
    {   
        System.out.println("Enter string");
        Scanner S = new Scanner (System.in);
        String s = S.next();
        char A = 'admin' ;
        boolean flag;
        flag = s.contains(CharSequence A);
        if (flag == true)
        {
            System.out.println("Admin mode");
        }
        else
        {
            system.out.println("customermode");
        }


    }
}
java
4个回答
2
投票

您的代码有问题

char A = 'admin' ;

你不能这样声明一个字符。

admin
中有多个字符,因此需要使用字符数组字符串来存储
admin

通过使用字符数组

char[] a = {'a', 'd', 'm', 'i', 'n'};

我认为您在问题中不需要使用字符数组,但您需要使用

String

通过使用字符串:

String a = "admin";

声明字符串后,您可以调用 contains 方法,如下所示:

flag = s.contains(a);

注意java中的char是用

' '
写的,String是用
" "
写的。

Java文档字符串: https://docs.oracle.com/javase/7/docs/api/java/lang/String.html


1
投票

char
类型表示1个字符。因此第
char A = 'admin' ;
行是不正确的。如果你想使用字符串文字,你必须写

String a = "admin";

请注意:

  • String
    - 是变量的类型。
  • 使用双引号而不是撇号。

另请注意,在 Java 中,我们的变量名称是从小写字母开始的。这不是强制性的,只是约定,而是众所周知的约定。


0
投票

应该是

s.contains("admin")

“admin”(不是“admin”)是一个

String
,而不是一个字符,因此您不能将“admin”分配给 char 变量,并且不能对多个字符使用单引号。


0
投票

当您调用

s.contains(Char A)
时,您不是在输入字符 A 的值,而是在调用该方法时声明一个新变量。 正确应该是:

s.contains("string sequence here")

对于您的代码,您应该考虑将

char A
更改为
String A

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