我试图在C ++中获取一串文本,并将其放置在方形中进行编码。例如,"紫色衬衫"将编码为......
selenium.common.exceptions.WebDriverException:
Message: Unable to start phantomjs with ghostdriver:
[Errno 2] No such file or directory: 'phantomjs'
然后,该函数应通过逐列读取来打印已解码的字符串。例如," PLHUEIR RPST"将是上面编码方块的解码版本。
正方形的宽度通过引用传递给函数。广场内的任何额外空间都应占用空格和空间。一段时间。例如,如果传递的宽度为5,则#34;紫色衬衫"将编码为......
P U R P
L E S
H I R T
这将打印为" PERU TRS PH IL。"
答案 0 :(得分:0)
制作一个宽度等于所选方形宽度和高度的矩阵,其宽度等于输入字符串的长度/所选宽度+ 1.将字符串存储在此矩阵中,然后按列打印矩阵。我将实际编码作为练习留给读者。
答案 1 :(得分:0)
首先,您需要更详细地解释如何这些字将被拆分为行和列。一个单词应分成多少行和列?
让我们开始吧。
// These attributes needs be programmed
// If a word is 4 letters long, should the matrix be in the form 2x2?
// If a word is 5 letters long? What happens then?
var rowLength;
var columnLength;
var index = 0;
String[][] letters = new String[row][col];
String word = "ABCD";
for (int i = 0; i < columnLength; i++) {
for (int j = 0; j < rowLength; j++) {
letters[i][j] = word.at(index++);
}
}
这应该将您的单词保存在矩阵中,由您选择如何实现它。 X * Y。通过以相反顺序遍历矩阵,逐行。您现在应该能够以所描述的形式构建新单词。
// Here we can build the new word ('newWord') by appending each letter
// from the array of letters[][] declared above.
String newWord = "";
for (int x = 0; x < rowLength; x++) {
for (int y = 0; y < columnLength; y++) {
newWord.append(letters[x][y]);
}
}
return newWord;