私はJavaでグリッドを使用していくつかのテストを行っています。1と0でグリッドを生成する方法を説明します。1は[+]、0は[]です。
(TLDR):
単語を取り込み、それを2進数に変換し、個々の1と0を配列に追加できるようにしたい
グリッドを設定する方法は次のとおりです。
// code that tells method how to generate the grid
int[] GRIDCODE3x3_1 = new int[]{
0, 1, 0,
1, 1, 1,
0, 1, 0
};
public void fillGridSpec(int[] x) {
System.out.println("\n");
int count = 0;
String gridLine = " ";
for(int p = 0; p < gridHeight; p++) {
gridLine = " ";
String[] gridArray = new String[gridWidth];
for(int q = 0; q < gridWidth; q++) {
if(x[count] == 1) {
gridArray[q] = "[+] ";
count++;
} else {
gridArray[q] = "[ ] ";
count++;
}
gridLine += gridArray[q];
}
System.out.println(gridLine);
}
}
出力は次のようになります:
[ ] [+] [ ]
[+] [+] [+]
[ ] [+] [ ]
それが邪魔にならないように、私がやりたいことの例を挙げたいと思います。
文字列があるとしましょう
これのbianaryはです。これを変換するため01100001
に必要なのは0,1,1,0,0,0,0,1
、出力が
[ ] [+] [+] [ ] [ ] [ ] [ ] [+]
文字列がHello Worldであるかのように、繰り返し可能にする必要もあります
(二項):
01001000 01100101 01101100 01101100 01101111 00100000 01010111 01101111 01110010 01101100 01100100
(ここでのコンマの量は冗長であるため、これを何に変換する必要があるか、および出力がどのように機能するかを知っていると思います)
私が尋ねていることの説明が必要な場合は、コメントでそれを尋ねてください。できるだけ早くご連絡いたします。
あなたの主題に応じてあなたが何を望んでいるかは次のとおりです:
String str = "Hello World";
for (int i = 0; i < str.length(); i++) {
String binStr = String.format("%8s", Integer.toBinaryString(str.charAt(i))).replace(' ', '0');
int[] intArray = new int[binStr.length()];
for (int j = 0; j < binStr.length(); j++) {
intArray[j] = Integer.valueOf(String.valueOf(binStr.charAt(j)));
// This also works
//intArray[j] = Character.getNumericValue(binStr.charAt(j));
}
System.out.println(Arrays.toString(intArray));
}
コンソール出力
[0、1、0、0、1、0、0、0
]
[0、1、1、0、0、1、0、1 ] [0、1、1、0、1、1、0、0 ]
[0、1、1、0、1、1、0、0]
[0、1、1、0、1、1、1、1]
[0、0、1、0、0、0、0、 0]
[0、1、0、1、0、1、1、1]
[0、1、1、0、1、1、1、1]
[0、1、1、1、0、0、1 、0]
[ 0、1、1、0、1、1、0、0] [
0、1、1、0、0、1、0、0]
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加