2016-11-13 41 views
0

forループを使用してリストされた数値で三角形を印刷するにはどうすればよいですか?これまでのところ、私は正常にこのようにそれを印刷するには、管理:Java上の逆三角形の数値をリストする方法

1 X 
2 X X 
3 X X X 
4 X X X X 
5 X X X X X 

私の次の割り当てが同じである私は、このようなユーザによって逆の順序で、「X」を印刷する必要があります以外:私が管理

1 X X X X X 
2 X X X X 
3 X X X 
4 X X 
5 X 

私のコードに三角形を印刷させるが、その数は適切な場所にない。印刷結果は次のとおりです。

5 
X X X X X 4 
X X X X 3 
X X X 2 
X X 1 
X 0 

私がやっていることは間違っていますか?私は何か他に何かする必要がありますか?

public class problem4 
{ 
    private static Scanner input; 
    public static void main(String[] args) 
    { 
     input = new Scanner(System.in); 
     System.out.print("Enter a Number: "); 
     int n = input.nextInt(); 
     for (int i = n; i >= 0; i--) 
     { 
      System.out.println(" " + i); 
      for (int j = i; j > 0; j--) 
      { 
       System.out.print(" X"); 
      } 
     } 
     System.out.println(""); 
    } 
} 

答えて

1

はこのようにコードを変更します:ここに私の現在のコードであることに加えて

import java.util.Scanner; 

public class problem4 
{ 
    private static Scanner input; 
    public static void main(String[] args) 
    { 
     input = new Scanner(System.in); 
     System.out.print("Enter a Number: "); 
     int n = input.nextInt(); 
     for (int i = n; i > 0; i--) 
     { 
      System.out.print(" " + (n + 1 - i)); 
      for (int j = i; j > 0; j--) 
      { 
       System.out.print(" X"); 
      } 
      System.out.println(); 
     } 

    } 
} 

は、java naming conventionsに従ってください。

クラス名は、大文字と小文字の混同の場合は、それぞれの内部単語が大文字で始まる の最初の文字である必要があります。

+0

私は "+(6 - i)"を入れる必要がありました...それは働いていましたが、コードは奇妙に見えました。私は6をnに置き換えることにしました。私はこれを私のメモに載せなければならない。ありがとう:D – apreciado

+0

良い点。それを "+"(n + 1 - i)に変更する方が良いです。 – Gearon

関連する問題