【发布时间】:2015-06-13 17:09:10
【问题描述】:
我有随机 1 和 0 整数的 tab[110] 数组,所以:1001111001011110... 依此类推,直到数组结束。 我正在尝试根据汉明码输出 7 行不同的位。 我的循环有效,但仅适用于从位开始的组,数组中的索引为 2、4、8、16。对于第 32 次循环,它们会削减一半(因此从 64 开始输出,而不是从 32 开始)并且第 64 组被完全跳过。
int x=0;
int sum=0;
int pointer=0;
boolean w = true;
System.out.println("Grupy Bitow Parzystych");
for (int i=2; i<=7; i++)
{
System.out.println("\n");
switch(i)
{
//case 1: pointer=1;
case 2: pointer=2;
break;
case 3: pointer=4;
break;
case 4: pointer=8;
break;
case 5: pointer=16;
break;
case 6: pointer=32;
break;
case 7: pointer=64;
break;
default: System.out.println("DEFAULT SWiTCH");
break;
}
sum=0;
x=0;
for (int p=0; p<tab.length; p++)
{
if (p==0) System.out.println("Grupa bitow: "+pointer);
if (p<=pointer-1) continue;
x++;
if (x == pointer)
{
x = 0;
w = !w;
}
if (p%20==0) System.out.println("");
if (w)
{
iterator = p+1;
System.out.print(tab[p]+"("+iterator+")"+",");
sum++;
}
if (p==tab.length-1) System.out.println("Suma bitow pary "+pointer+": "+sum);
}
}
【问题讨论】:
-
你的问题到底是什么?
-
内部 for 循环以某种方式跳过组中的所有位,当指针设置为 64 时(所以当我想输出从 64 到数组末尾的位时)和组中的一半位,从第 32 位开始位。
-
iterator在哪里定义?这不会按原样编译。
标签: java arrays for-loop hamming-code