Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
比较包含一组数字的两个字符串,而不考虑它们在Java中的顺序_Java_String_Numbers_Sequence - Fatal编程技术网

比较包含一组数字的两个字符串,而不考虑它们在Java中的顺序

比较包含一组数字的两个字符串,而不考虑它们在Java中的顺序,java,string,numbers,sequence,Java,String,Numbers,Sequence,我需要比较Java中的两组数字。为了测试程序,两个集合将是相同的123,除了一个集合将有不同顺序的123。我现在输入123作为中奖号码,输入321作为播放号码,使用.contains方法将两者作为字符串进行比较 我的代码如下: if (playNum.contains(winNum)) System.out.println("True") ; else System.out.println("False") ; 我试图让程序识别出“123”的任何

我需要比较Java中的两组数字。为了测试程序,两个集合将是相同的123,除了一个集合将有不同顺序的123。我现在输入123作为中奖号码,输入321作为播放号码,使用.contains方法将两者作为字符串进行比较

我的代码如下:

    if (playNum.contains(winNum))
        System.out.println("True") ;
    else
        System.out.println("False") ;

我试图让程序识别出“123”的任何变体是赢家。任何帮助都将不胜感激。

请查看我的解决方案,并让我知道这是否是您想要的:

    String input = "123";
    String winner = "321";
    char[] inputArr = input.toCharArray();
    Arrays.sort(inputArr);

    char[] winnerArr = winner.toCharArray();
    Arrays.sort(winnerArr);

    boolean retval = Arrays.equals(inputArr, winnerArr);
    System.out.println(retval);
下面是一个小提示代码片段,可以帮助您解决问题


对这两个字符串进行排序…我一点也不清楚你在找什么。您是比较两个集合,还是测试一个值是否是集合的元素?你是在处理字符串还是数字?playNum和winNum的声明是什么?playNum是如何建立的?你所说的变异是什么意思?@ajb很抱歉我不清楚。这两个数字实际上是字符串。我需要一种方法,当playNum包含winNum包含的任何字符时,让程序输出'True'。例如,如果winNum为“123”,那么当playNum为“123”、“132”、“213”、“321”、“312”等时,我需要一个“True”输出。我可能会使用String.splitregex、Integer.valueOfstring和Collection.containsobject的组合。这种方法对你有用吗?如果playNum=1234,winNum=432,这是真是假?
Pattern pattern = Pattern.compile(".*[^1-3].*");

   String [] inputs = {"123", "-123" , "123.12", "abcd123"};

   for(String input: inputs){
       System.out.println( "does " + input + " is number : "
                            + !pattern.matcher(input).matches());
   }

   // Regular expression in java to check if String is 6 digit number or not
   String [] numbers = {"123", "123" };
   Pattern digitPattern = Pattern.compile("\\d{3}");