简体   繁体   English

如何在Java中查找用户输入的字符串是否为基本字符串文字?

[英]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. 如果用户输入了一些字符串,如pointernullllpointerinternullpo ,则应输出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将在nullppointernullointernu等上返回true

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM