Java 作为蛮力应用程序的一部分生成数字

Java 作为蛮力应用程序的一部分生成数字,java,arrays,integer,helpers,Java,Arrays,Integer,Helpers,首先请注意,我对Java很熟悉。我已经进行了一个暴力应用程序,我知道密码中有两个数字要破解 当我生成像ABC这样的字符串时,我需要在该字符串的所有可能位置放置两个数字(我已经这样做了!) 我需要两个数字,分别从0-9生成。这包括将两个数字放在一起时从00到99的可能性 我已经考虑了很多,并且相信最好是有一个递增的整数,然后我可以分成两个整数反馈给我的main,但是我实际上不能从00,01,02,03开始一个整数。。其中,第一个泊松为fNum,第二个为sNum。从1,2,3,4一直到10 到目前为

首先请注意,我对Java很熟悉。我已经进行了一个暴力应用程序,我知道密码中有两个数字要破解

当我生成像ABC这样的字符串时,我需要在该字符串的所有可能位置放置两个数字(我已经这样做了!)

我需要两个数字,分别从0-9生成。这包括将两个数字放在一起时从00到99的可能性

我已经考虑了很多,并且相信最好是有一个递增的整数,然后我可以分成两个整数反馈给我的main,但是我实际上不能从00,01,02,03开始一个整数。。其中,第一个泊松为fNum,第二个为sNum。从1,2,3,4一直到10

到目前为止,我已经提出了以下解决方案,但它并没有像我想要的那样起作用

public int twoNumber(int fNum, int sNum){

    //form array from two integers
    int[] intArray = {fNum, sNum};

    //increment the array value (not sure if correct way?)
    intArray++;        

    //split the array to get two indiivudla numbers
    int[] part1 = new int[99];
    int[] part2 = new int[99];

    System.arraycopy(intArray, 0, part1, 0, part1.length);
    System.arraycopy(intArray, part1.length, part2, 0, part2.length);

    //I need to convert the two above and return the two numbers as integers
    //and not arrays

}
我不是100%确定这是最好的方法,但该计划应返回以下内容:

假设我们从brtue force中的A开始

0A0
0A1
0A3
..
0A9
1A0
..
9A9
..
0AB0
0AB1
0AB2
0AB3
等等

我的问题是,处理这个问题的最佳方法是形成数组、递增、拆分和返回吗?我还考虑过其他方法,例如创建一个包含所有可能数字的数组(耗时太长)、在java中使用random、创建一个整数、递增、拆分和返回。

这听起来像是“家庭作业”或“项目”,因此这里的建议将是关于您将使用的算法以及一些组合方法,而不是一个工作程序

首先是算法。看起来您需要从所有可能的位置组合中包含两个整数的基本字符串生成一个试用密码。因此,您需要一个算法,该算法循环遍历字符串中“添加整数”位置的所有可能组合。。。对于这些组合中的每一个,遍历整数值的100个组合

在伪代码中,假设您有location
loca
locb
,您可以执行以下操作:

for num1=0 to 9
     for num2=0 to 9
      form candidate password by inserting num1 in loca and num2 in locb
     end for
   end for
您可能希望通过制作三个字符串(前面的字符最多为
loca-1
),中间的字符(从
loca
locb
)和后面的字符(从
locb
到末尾)来简化,并替换为


候选者=前面+num1+中间+num2+后面

我已经离开了,作为练习,你如何处理所有的位置pairsHi,这不是家庭作业或项目。。。我想看看暴力强迫使用有数字和字母的生成器与文本生成器之间的区别,然后在所有可能的位置添加两个数字。。。我已经这样做了,我现在需要一种生成两个数字的方法,仅此而已。非常简单,但我一直在努力,我花了一天的时间来尝试。你被困在生成两个数字上了?!使用类似伪CDEI的for循环知道这是一个简单的任务。但这是相当困难的,因为这些数字需要被视为一个整体数字,可能是00到99。我需要一种方法来生成这个数字,然后分裂它,但当我发现数字不能从01开始,它将是1。。。因此,我对数组的最终想法是,把两个数字放进去,增加数组的值,然后分割并返回值。但是我不知道这是否是最好的方法,甚至不能让它工作,因为返回值需要是整数而不是int[]。。您不需要生成两位数字,请分别使用这些数字