如何将所需的序列(“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");
}
}
}
您的代码有问题
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
char
类型表示1个字符。因此第 char A = 'admin' ;
行是不正确的。如果你想使用字符串文字,你必须写
String a = "admin";
请注意:
String
- 是变量的类型。另请注意,在 Java 中,我们的变量名称是从小写字母开始的。这不是强制性的,只是约定,而是众所周知的约定。
应该是
s.contains("admin")
。
“admin”(不是“admin”)是一个
String
,而不是一个字符,因此您不能将“admin”分配给 char 变量,并且不能对多个字符使用单引号。
当您调用
s.contains(Char A)
时,您不是在输入字符 A 的值,而是在调用该方法时声明一个新变量。
正确应该是:
s.contains("string sequence here")
对于您的代码,您应该考虑将
char A
更改为 String A
。