2016-10-11 33 views
-2

アスタリスクのピラミッドを印刷するためにforループを使用してコードを記述しようとしています。ピラミッドの高さは、ユーザの入力によって決定されるべきであると次のようになります。アスタリスクのピラミッド

例:3

の入力*
**
***
**
*

import java.util.Scanner; 

public class Homework6_Project2 { 

    public static void main(String[] args) { 
     Scanner keyboard = new Scanner(System.in); 
     int triangleHeight = keyboard.nextInt(); 
     int i; 
     int j; 
     for (i = triangleHeight; i >= 1; i--) { 
      for (j = i; j >= 1; j--) { 
       System.out.print("*"); 
      } 
      System.out.println(); 
     } 
    } 
} 

編集:私は下半分のコードを忘れていました+ +インクリメント演算子を使用する必要がありました。

+0

あなたが印刷することを求めている正確に何を印刷しています - あなたは3、プリントで3つのアスタリスクをカウントし、新しい行に移動し始めます。次に、2枚印刷します。ループを昇順で取得しながら最初に印刷する必要があります。その後、番号に達すると、あなたは下に移動し続けます。 – Aditya

答えて

1

上部ピラミッドを印刷するには、別のループが必要です。

何かのように:

*
**
***
**

for(i = 1; i < triangleHeight; i++) { 
    for (j = 1; j <= i; j++) { 
     System.out.print("*"); 
    } 
    System.out.println(); 
} 

あなたは入力3のために私に次のような出力を与えたthisコードを確認することができます *

0

パブリッククラスPyramidOfAsterisk {

/** 
* @param args the command line arguments 
*/ 
public static void main(String[] args) { 
    // TODO code application logic here 
    java.util.Scanner keyboard = new java.util.Scanner(System.in); 
    int pyramidHeight = keyboard.nextInt(); 

    for(int i = 1; i <= pyramidHeight; i++){ 
     for(int j=1; j <= i; j++){ 
      System.out.print('*'); 
     } 
     System.out.println(); 
    } 
    for(int i = pyramidHeight - 1; i > 0; i--){ 
     for(int j=i; j > 0; j--){ 
      System.out.print('*'); 
     } 
     System.out.println(); 
    } 
} 
関連する問題