2017-11-07 1 views
-1

私が印刷したいのです三角形は次のようになります。Javaでネストループを使用して逆さまに三角形を印刷しますか?

123456 
23456 
3456 
456 
56 
6 

これまでのところ、私が印刷してきた。ここで私が作ってみたコード

123456 
12345 
1234 
123 
12 
1 

System.out.println(); 
for (int i=1; i<=6; i++) 
{ 
    for (int j=7; j>i; j--) 
    { 
    System.out.print(j - 1); 
    } 
    System.out.println(""); 
} 

誰でも私が間違っていることを理解するのに役立つことができますか?

答えて

0

内側のforループに間違った方向があります。

System.out.println(); 

for(int i = 1; i <= 6; i++){ 
    for(int j = i; j <= 6; j++){ 
     System.out.print(j); 
    } 
    System.out.println(); 
} 

内側のforループでjをiに設定すると、その行は自分自身で1つ前にシフトします。

出力:

123456 
23456 
3456 
456 
56 
6 
2

あなたは非常に近いです。内部ループの開始インデックスは毎回変更する必要があることに注意してください。どの程度:

for (int i=1; i<=6; i++) { 
    for (int j=i; j<=6; j++) { 
     System.out.print(j); 
    } 
    System.out.println(); 
} 
-1
public class MyClass { 
public static void main(String args[]) { 


for(int i=1;i<7;i++){ 
for(int j=i;j<7;j++) 
    System.out.print(j); 

System.out.println(""); 
} 

} 
} 

編集:の各ループ反復が何をするのか考えてみましょう。 外部ループは、すべての値が次の行に移動する前に出力されることを確認します。しかし、どのように必要な値を印刷しますか?

これは内部ループによって行われます。それは、現在の反復における値iから値n(ここではn = 6)への値の印刷を開始する。したがって、最初の反復では、値は123456になります。次の行(&の次の行)では、2から23456のように値が印刷されます。それがあなたの必要なパターンです。

+0

この回答は、どのように、なぜそれが質問に答えるかについての解説をした方が良いでしょう。 – DaveyDaveDave

関連する問題