2012-11-14 78 views
2

進出口新的Java和我不知道,如果它有可能把星號的數量旁邊, 例如: 1 * 2 ** 3 ***號與星號

我這裏有我的代碼

package ReviewExercise; 
import java.util.Scanner; 
public class review1 { 

    /** 
    * @param args 
    */ 
    public static void main(String[] args) { 
     // TODO Auto-generated method stub 

     Scanner sc = new Scanner(System.in); 
     System.out.print("Enter number from 1 - 10: "); 
     int num = sc.nextInt(); 

     //for(int r = 1; ; r++){ 
      for(int c = 1; c <= num; c++) { 
       for (int r = c; r <= c; r++) { 
       System.out.println(c); 
      } 
     } 
    } 

} 

回答

1

簡言之

for (int i = 0 i < noOfAsterisks; i++) { 
    System.out.print("*"); 
} 

注意print()的使用,而不是println()print()在其輸出後不會打印換行符,因此可用於打印出如上所述的序列。

您可能更願意使用StringBuilder在內存中創建一個字符串,然後在一個println()語句中將其打印出來。這可能更有效率和/或更好。

+0

輸出應該是這樣的: '1 *' '2 **' '3 ***' – yakults

1

修改您for循環如下:

for(int c = 1; c <= num; c++) 
{ 
    System.out.print(c); 
    for (int r = 1; r <= c; r++) 
    { 
     System.out.print("*"); 
    } 
    System.out.print(" "); 
} 
0
for(int c = 1; c <= num; c++) 
{ 
    String line = String.valueOf(c); 
    for (int r = 0; r < c; r++) 
    { 
     line += "*"; 
    } 
    System.out.println(""); 
    System.out.println(line); 
} 
+0

是,但它只打印星號 – yakults

+0

更改爲此System.out.print(r +「*」); – ddarellis

+0

查看更改 – ddarellis