2014-12-08 85 views
-1

我想出了为什么只有一半列正在打印出来。包含所有字符的文件在它们之间有空白区域。打印方法也在白色空间中阅读。删除Char数组中的空白

Ex: a b c d 
    e f g h 

有一些修剪和删除的字符串方法,但我不能用char来使用它。有谁知道我可以使用什么去除空白?

public void print() 
{ 
    for(int i = rows; i < board.length; i++) 
    { 
     for(int j = columns; j < board[0].length; j++) 
     { 
      System.out.print(board[i][j]); 
     } 
     System.out.println(); 
    } 
} 

}

+0

你有什么具体问题?它会帮助其他人帮助你:-) – splrs 2014-12-08 00:38:07

+0

我遇到的主要问题是板子正在打印出所有的行,但它只打印出一半的列。我不知道为什么只有一半的列打印出来。 – Kay 2014-12-08 01:03:59

回答

0

我认为这种方法是错误的

public void print() 
{ 
    for(int i = rows; i < board.length; i++) 
    { 
     for(int j = columns; j < board[0].length; j++) 
     { 
      System.out.print(board[i][j]); 
     } 
     System.out.println(); 
    } 
} 

for(int i = rows; i < board.length; i++)看起来可疑,应该从0而不是循环的开始?

+0

这应该没问题,它是一个宽度和高度的网格,所以每个电路板[i]将具有相同的宽度。 – 2014-12-08 00:25:24

+1

@MthethewC董事会是否必须是一个正方形?看起来row/col来自文件。我们不知道它们是否总是一样。 – csmckelvey 2014-12-08 00:27:35

+0

我很确定问题出在外部循环中。当然,你想开始循环'i = 0' – 2014-12-08 00:28:42

0

您在打印方法中使用了board [0]而不是board [i]。

for(int j = columns; j < board[i].length; j++) 
    { 
     System.out.print(board[i][j]); 
    } 
    System.out.println(); 

}

+0

我尝试过板[我],但问题仍然存在。 – Kay 2014-12-08 00:56:07

0

我相信这是你的问题。 你在代码回路:

的for(int i =行;我...在行

开始,列应该从0开始,去行和列像这样:

的for(int i = 0;我<行...

其他职位,告诉你,问题是你要登上[0]。长度,而不是板[I]。长度,不能正确因为你正在使用具有一个长度和一个高度的网格,从board [0] .length到board [1] .length等不会改变。

+0

我试过这个,但它仍然没有工作。 – Kay 2014-12-08 00:52:33

+0

我不知道你在做什么,但我拿出你的构造函数中打开一个文件,然后什么都不做的部分。它工作正常。 – 2014-12-08 14:05:59

+0

输出:10 5 输入多少代计算:7 第1代: XXXYXYYYXX XXYYYXXYYX YXXYXYXXXX YYXXYYXXXX YYXXXXYXXX 第2代 XXXYXYYYXX XXYYYXXYYX YXXYXYXXXX YYXXYYXXXX YYXXXXYXXX 第3代 XXXYXYYYXX XXYYYXXYYX YXXYXYXXXX YYXXYYXXXX YYXXXXYXXX不用做任何你在做的事情,我只是从键盘上读取行和列。 – 2014-12-08 14:06:28