2014-08-29 73 views
-1

我要打印的圖案:是否可以將光標返回到第n個上一行?

*  
    * * 
    * * * 
* * * * 
* * * * * 

代碼必須相對於給定的輸入打印在一列中的*數量。

在這個例子中,提供的輸入是{2,5,1,4,3}

+0

不,這是不可能的 – BitNinja 2014-08-29 00:25:04

+0

有沒有辦法使用多維數組來做到這一點? – 2014-08-29 00:26:59

+0

如果您的終端支持它,則可以使用[ANSI轉義碼](http://en.wikipedia.org/wiki/ANSI_escape_code)。這應該適用於大多數Linux和Mac終端仿真器,但不適用於Windows CMD。我不確定IDE中的控制檯是否支持它們。 – McLovin 2014-08-29 00:30:06

回答

1
public void printStars(final int[] inputArray) { 

    // get the maximum value from the array 
    int max = 0; 
    for(final int value : inputArray) { 
     if(value > max) { 
      max = value; 
     } 
    } 

    for(int row = max; row >= 1; row--) { 
     for(final int value : inputArray) { 
      if(value >= row) { 
       System.out.print("* "); 
      } else { 
       System.out.print(" "); 
      } 
     } 
     System.out.println(); 
    } 

} 
+0

thanx的迴應:) – 2014-08-29 09:14:50

+0

使用Windows操作系統和記事本 – 2014-08-29 09:16:36

相關問題