java - Android中如何将字符转换为 boolean 二维数组?

标签 java android boolean type-conversion

我正在开发一个项目,需要在 Android 中将字符转换为二维数组。例如,如果我有字符(或字符串)“A”,我必须创建一个二维数组,如下所示:

[0,0,1,0,0]   
[0,1,0,1,0]    
[0,1,0,1,0]    
[1,0,0,0,1]    
[1,1,1,1,1]    
[1,0,0,0,1]    
[0,0,0,0,0]

图形化:

enter image description here

我该如何处理这个问题?

最佳答案

您可以尝试以下操作:

String str = "ABC";
List<byte[][]> codedString = new ArrayList<byte[][]>();

for ( char c : str.toCharArray() ) {

    switch ( c ) {

        case 'A':
            codedString.add( new byte[][]{
                { 0, 0, 1, 0, 0 },
                { 0, 1, 0, 1, 0 },
                { 0, 1, 0, 1, 0 },
                { 1, 0, 0, 0, 1 },
                { 1, 1, 1, 1, 1 },
                { 1, 0, 0, 0, 1 },
                { 0, 0, 0, 0, 0 } } );
            break;

        case 'B':
            codedString.add( new byte[][]{
                { 1, 1, 1, 1, 0 },
                { 1, 0, 0, 0, 1 },
                { 1, 0, 0, 0, 1 },
                { 1, 1, 1, 1, 0 },
                { 1, 0, 0, 0, 1 },
                { 1, 0, 0, 0, 1 },
                { 1, 1, 1, 1, 0 } } );
            break;

        case 'C':
            codedString.add( new byte[][]{
                { 0, 1, 1, 1, 0 },
                { 1, 0, 0, 0, 1 },
                { 1, 0, 0, 0, 0 },
                { 1, 0, 0, 0, 0 },
                { 1, 0, 0, 0, 0 },
                { 1, 0, 0, 0, 1 },
                { 0, 1, 1, 1, 0 } } );
            break;

    }

}

for ( byte[][] codedChar : codedString ) {
    for ( int i = 0; i < codedChar.length; i++ ) {
        for ( int j = 0; j < codedChar[i].length; j++ ) {
            System.out.print( codedChar[i][j] == 1 ? "X" : " " );
        }
        System.out.println();
    }
}

您需要对所有模式进行硬编码。

编辑:我更改了代码以使用零和一来表示模式。它比使用 boolean 值更容易阅读。

关于java - Android中如何将字符转换为 boolean 二维数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12241953/

相关文章:

java - 使用 Java 图形操作字符串中每个字符的形状

java - 模拟 EntityManager 时 Mockito 出现问题

java - 如何仅对一副纸牌中的某些部分(面牌)使用枚举

java - 如何将相同的扩展名写入一个类的两个不同版本

android - 更新 dexguard 版本时抛出错误 - Crashlytics 插件在 DexGuard 插件之前应用

android - 跨 Android 设备的屏幕灵敏度

java - 一旦变量设置为 false,如何停止线程?

c# - 为什么这种编译方式有所不同?

android - FAB 在 RelativeLayout 上就像在 CoordinatorLayout 中一样

html - 如何将 'boolean'类型的数据从HTML表单发送到数据库