2014-12-08 132 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