2017-01-10 5 views
0

を与えます正しい出力。あなたが唯一の対角要素でxを取得する条件i == j入れ子になったためにループが、私は自分のコードから次のような出力を取得しようとしている誤った出力に

x o o o o 
o x o o o 
o o x o o 
o o o x o 
o o o o x 
+0

ですそれを保存するために使用しますか? 2次元配列を書いてから印刷することを考えたことはありますか? – mstorkson

+0

あなたは何を出力しますか?また、何が欠けていますか? –

答えて

0

:私はこのコードを使用して、次の出力を取得しています。希望の出力が必要な場合は、条件をi >= jに変更する必要があります。

は、ここで修正されたコードスニペットです:

for (int i = 1; i <= n; i++) { 
    for (int j = 1; j <= n; j++) { 
     if (i >= j) { 
      System.out.print(" x "); 
     } else { 
      System.out.print(" o "); 
     } 
    } 
    System.out.println(); 
} 

出力:

x o o o o 
x x o o o 
x x x o o 
x x x x o 
x x x x x 
+0

omgありがとう、完璧に働いて、もう一度お返事します – Remmargrop

+0

@Remmargropようこそ!これで問題が解決した場合は、投票カウンタの下にある灰色のチェックマークをクリックして回答を受け入れてください。 – user2004685

2

だけif(j <= i)からif(i == j)を変更し、すべてがうまくいきます!

ロング説明:

は各文字を印刷し、

  • jが内部ループで、各行の電荷を取る、論理

    • i外側ループは約考える(xo )with-in-the-line
    • どのくらいのxを印刷する必要があるのですか(つまり、値j)、depen行番号(すなわち、最初の位置(j == 1)からi
    • 印刷xは、i位置(j == i)に、それはJavaで記述され、1iからjであるあなたはどのようなデータ構造j <= i
  • 関連する問題