私の割り当ては、あらかじめ書き込まれたメソッドを使用せずに(ユーザー入力はありません)JLabel配列のバイナリから10進に変換することです。私は正しいアイデアを持っていますが、何らかの理由でアウトプットが少しずれています。私はそれを何度も経験してきましたが、私のアルゴリズムに何か間違ったものは見つけられず、正しい答えが得られない理由は非常に混乱しています。誰かが私を助けることができれば非常に感謝しています。ありがとう!Java(配列)のバイナリから10進への変換の問題
サイドノート:バイナリから10進への変換に関する類似のディスカッションスレッドを読んだが、配列でそれを行う方法は分かりません。ここで
は、私のコードの抜粋です:
private void convert()
{
int[] digit = new int[8]; //temporary storage array
int count = 0;
for(int x = 0; x < digit.length; x++)
{
digit[x] = Integer.parseInt(bits[x].getText()); //bits is the original array
count= count + digit[digit.length - 1 - x] * (int)(Math.pow(2, x));
}
label.setText("" + count);
}
数字[]に2進数の数字が格納されていますか?カウントは何をするのですか? –
@ProgyadeepMoulik配列の各セルには1または0があるので、プログラムは各プレースの値を10進数に変換してすべて加算します。 Countはその合計を記録します。そしてyes、digit []は2進数の数字を格納します。セルあたり1桁、私のプログラムの別の部分では、常に0または1のランダム化が行われます。 – mk8139