Java 数组解密
我想解码我加密的数组。我们知道数字的编码是1到9。如果结果编码为1,在子字符串中,我们不会有超过9个1,但我们有三个结果示例:Java 数组解密,java,encryption,substring,grouping,Java,Encryption,Substring,Grouping,我想解码我加密的数组。我们知道数字的编码是1到9。如果结果编码为1,在子字符串中,我们不会有超过9个1,但我们有三个结果示例: byte[][] A = new byte[][] { { 0, 1, 1, 1, 1, 0, 0, 0, 1 }, { 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0 }, { 0, 1, 0, 0, 0, 0, 0, 1, 0 } } 结果:43211 byte[][] C = new byte[][] { {}, {}
byte[][] A = new byte[][] { { 0, 1, 1, 1, 1, 0, 0, 0, 1 },
{ 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0 },
{ 0, 1, 0, 0, 0, 0, 0, 1, 0 } }
结果:43211
byte[][] C = new byte[][] { {}, {},
{ 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1 }, {},
{ 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1 },
{ 1, 0, 0, 0, 0, 0, 0, 0, 0 }, {}, { 1, 1 }, { 1 }, {}, { 0 },
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, {} };
结果:1233
byte[][] A = new byte[][] {
{ 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1 },
{ 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1 },
{ 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0 } };
结果:332132
提前谢谢 你应该把你的问题解释清楚。我对你的问题一无所知。当然!我想解码我加密的数组。我们知道数字的编码是1到9。如果结果编码为1,则子字符串中的数字不会超过9个新字节[]{{0,1,1,1,1,0,0,0,1},{1,1,0,0,0,0,0,1,1,0,0,0,0},{0,1,0,0,0,0,0,0,0,0,0,0,0,1,0}'例如,这个数组的结果是:43211,我解决这个问题的想法是有这样的子字符串:0:1,1:4,3:0。。。但我不知道这是解决这个问题的最好方法:)哇,这是一个多么简单的方法!我想做的太多了:)@Papaver先生很高兴我能帮上忙。
byte[][] A = new byte[][] {
{ 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1 },
{ 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1 },
{ 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0 } };
String result = "";
int counter = 0;
for (byte[] arr : A) {
for (byte b : arr) {
if (b == 1)
counter++;
else {
if (counter > 0)
result += counter;
counter = 0;
}
}
}
if (counter > 0)
result += counter;
System.out.println(result);