【发布时间】:2018-09-15 08:13:58
【问题描述】:
我正在尝试制作一个函数,可以根据其中的位置将二进制数转换为字母。
例如,如果我有二进制数:0101
我想获取字符串“LUDR”并将它们有效地相乘以获得 : "UR"。
我在一个数组中有 4 位二进制数,而我想与它们“相乘”的字符串总是“LUDR”。
我会举更多的例子.. 二进制数:1011 给出“LDR” 二进制数:0001 给出“R”
编辑:
我已经写的代码:
String[][] binVals = new String[10][10];
//my function to fill up with 4 bit binary values so i can get 100 in total
//just read from file so that's why it's a string array
String mazeWallRemove = "LURD";
//I need to write some function to turn the binary values in to some string
String[][] unCodedWalls = new String[10][10]//into this array
我的问题是我可以使用哪些函数来“乘”binVals 和“LURD”字符串以获得字符串输出(如上所示的形式)
如果语句将数组中的每个二进制值转换为整数然后只是说:
for(int a = 0; a < 10; a++){
for(int b = 0; b < 10; b++){
if(binVals[a][b] == 1){
uncodedWalls[a][b] = "R"
} // lots more else if statements
}
}
这种方法效率极低,因此我正在寻找一种更有效的方法来代替使用大量的 if 语句。
【问题讨论】:
-
到目前为止你做了什么代码。
-
你能否更详细地解释一下这个问题。
-
我们了解您正在尝试进行的练习,但是您对我们有什么问题?我们不是代码编写服务,但我们会帮助您解决特定的编码问题。
标签: java