[英]How to find user entered string is base String literal or not in java?
Here I've base String called String baseString = "nullpointer"
; 在这里,我将基本字符串称为String baseString = "nullpointer"
; if user entered some strings like pointernull
, llpointer
, internullpo
then it should print TRUE else FALSE. 如果用户输入了一些字符串,如pointernull
, llpointer
, internullpo
,则应输出TRUE,否则为FALSE。 How to write the logic for this? 如何为此编写逻辑? please help me. 请帮我。
public class literalString {
public static void main(String[] args) {
String baseString = "nullpointer";
Scanner sc = new Scanner(System.in);
String input = sc.next();
//pointernull, llpointer, internullpo then return TRUE.
// pointerllnu, unpointerll then return FALSE
//what shoul be the logic here?
}
}
Your help will be appreciated. 您的帮助将不胜感激。
First check baseString.length==input.length
if it is fails then it is wrong if it is true then check using concat
and contains
首先检查baseString.length==input.length
如果失败,则为真,然后使用concat
进行检查,并contains
Simple example 简单的例子
String baseString = "nullpointer";
Scanner sc = new Scanner(System.in);
String input = sc.next();
if(baseString.length()!=input.length()){
System.out.println("false");
}
else{
if(baseString.concat(baseString).contains(input)){
System.out.println("true");
}
else{
System.out.println("false");
}
}
Try something like this: 尝试这样的事情:
String[] valueList = {"pointernull", "llpointer", "internullpo"};
if(Arrays.asList(valueList).indexOf(input) != -1) {
// User has typed "pointernull", "llpointer" or "internullpo"
}else{
// User has typed something else
}
Simply: 只是:
(base.concat(base)).contains(input);
So if your base is nullpointer
, then base.concat(base)
will yield nullpointernullpointer
, and contains
will return true
on nullp
, pointernull
, ointernu
, etc. 因此,如果您的基数为nullpointer
,则base.concat(base)
将产生nullpointernullpointer
,并且contains
将在nullp
, pointernull
和ointernu
等上返回true
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.