0
範囲から整数のユーザ入力を受け取り、それをバイナリに変換し、3x3配列をバイナリで埋める必要があります。唯一の問題は、私のコードは、そのバイナリの最初の3つの数字に依存する出力を与えていることです(つまり、すべての行にわたって010001101 = 010)。ユーザ入力(2進数への整数)で2次元配列を塗りつぶす
import java.util.Scanner;
public class HW11P02 {
public static void main(String[] args) {
Scanner in = new Scanner (System.in);
System.out.print("Enter a number between 0 and 511: ");
int n = in.nextInt();
String binary = Integer.toBinaryString(n);
binary = binary.format("%09d", Integer.parseInt(binary));
System.out.println(binary);
listArray(binary);
};
public static String[][] listArray(String binary) {
String[][] array = new String[3][3];
char ch = ' ';
String value = "";
for (int i = 0; i < 3; i++) {
for (int n = 0; n < 3; n++) {
ch = binary.charAt(n);
value = Character.toString(ch);
array[i][n] = value;
System.out.print(array[i][n] + " ");
}
System.out.println();
}
return array;
}
};
あなたはする必要はありません場合は、このつもり印刷がバイナリで先頭の0をしないことを覚えている:exは:10:数2つもりもありこれは、2ビット以上を使用する必要がないためです。数字255を入力して、結果として何を得るか再投稿してください。 – someRandomSerbianGuy
@ Slay29私の結果は0 1 1 3行全部で –
通常のintの代わりにlongを使用してみてください。違いはありますか? – someRandomSerbianGuy