2014-09-06 41 views
0

我必須弄清楚如何更改代碼,以使列或行中的輸出發生更改。我已經做了以下的一個應該打印5行5行星號,第三行加上加號。這幾乎是正確的,但有些事情正在使第四排而不是第三排發生加號。我的講師在課堂上講到價值被抓的時候會說些什麼,但我不記得週末是什麼,所以我不能問他。使用for循環創建圖案輸出以及如何更改公式以更改圖案

我已經閱讀了幾個問題,這給了我一個跳躍點,但我仍然不清楚以下的事情;

你能告訴我哪裏出了問題,第三行和第四行與我希望它們相反,並給我指示如何改變特定行或列的內容?

謝謝,這是我的代碼;

public class OutputB 
{ 
    public static void main(String[] args) 
    { 
     int rows = 5; // tells the program how many rows 
     int cols = 5; // tells the program how many columns 

     for (int r = 0; r < rows; r++) 
      { 
       for (int c = 0; c < cols; c++) 

       if(r != 3) 
       { 
        System.out.print("*"); 
       } 
       else 
       { 
        System.out.print("+"); 
       } 
      System.out.println(); 
+0

用你的手指開始計數,從0開始。到達3你舉起第四根手指。 – halex 2014-09-06 11:20:15

回答

0

您從零開始,這意味着第三個增量實際上是第四個增量。你有兩個選擇來解決這個問題。您可以從所需的行號中減去1 ...

int rows = 5; // tells the program how many rows 
int cols = 5; // tells the program how many columns 
int rowOfThePlusSymbol = 3; 
... 
    if(r != rowOfThePlusSymbol-1) 

...或者您可以從for循環中的1開始。如果你這樣做,一定要把< =也放在for循環中,這樣你循環所需的次數。

... 
for (int r = 1; r <= rows; r++) 
{ 
    for (int c = 1; c <= cols; c++) 
    ... 
} 

我不鼓勵使用後一種解決方案,因爲通常的做法是使用列表的增量或索引時從零開始。

+0

謝謝大家幫助我。 – civitas 2014-09-06 16:48:06