【发布时间】:2013-04-13 12:56:57
【问题描述】:
我正在尝试从 2d 字符数组中打印字符,但是我不断返回一个字符串而不是每个字母。例如命令行中的参数是
"-加密 abcdefghij"
String command = args[0];
String Text = args[1]; //letters to be
char letters [] = Text.toCharArray();
int m = Text.length(); //number of letters to be decrypted/encrypted
String command = args[0];
String Text = args[1]; //leters to be
char letters [] = Text.toCharArray();
int m = Text.length(); //number of letters to be decrypted/encrypted
if (command.equals("-encrypt")) {
//if statement was here before for perfect square numbers
else if ( m / (int) Math.sqrt(m) != Math.sqrt(m) ) { //non perfect square digits
int RootM = (int) Math.pow((Math.sqrt(m))+1,2); //overall size of 2d array (depth*width)
int RootN1 = (int) Math.sqrt(RootM); //length of rows & columns
char [][] box = new char [RootN1][RootN1]; //define dimensions of 2d array
for (int i=0; i<RootN1; i++) {
for (int j=0; j<RootN1; j++) {
box[i][j]=letters[2*i+j];
}
}
for (int i=0; i<RootN1; i++) {
for (int j=0; j<RootN1; j++) {
System.out.print(box[j][i]);
【问题讨论】:
-
box 是一个二维数组,但在分配和打印时您将它用作一维数组。也许这会导致混乱?
-
我试图使用字符来填充二维数组,但我一直得到输出 abcd 而不是 a,b,c,d