2016-10-11 161 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

它打印你問它來打印到底是什麼 - 你開始有三個,打印計數三個星號,並移動到新的生產線。然後你打印兩個。您需要先按升序進行循環打印。然後當你達到這個數字時,你會繼續向下移動。 – Aditya

回答

1

您需要另一個循環才能打印上面的金字塔。

喜歡的東西:

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

您可以檢查this代碼給我下面的輸出輸入3

*
**
***
**
*

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(); 
    } 
}