2015-10-18 103 views
1

我想做一個循環打印「*」作爲字符串一定的次數,但我不能讓它工作。主要方法中的一切都給了我,必須使用。我添加的其他東西,我不知道我是否在正確的軌道上。最終結果是假設水平打印「*」七次。然後每次添加一個「*」,增加一個進行計數,並比較以確定count是否大於或等於我設置的值。然後如果它是真的,它會結束循環,如果不是,它會重複循環直到真實。我只是不知道如何在代碼中表達這一點。Java while循環與字符串

public class LoopPractice 
    { 
     public String ast = "*";  

     public static void main(String[] args) 
     { 

      LoopPractice lp = new LoopPractice(); 
      System.out.println(lp.getAstWhile(7)); 
     } 

     public String getAstWhile() 
     { 
      int count = 0; 
      while (count <= 6) 
      { 
       System.out.print(count++); 
      } 
      return ast; 
     } 
    } 
+0

當你調用'lp.getAstWhile(7)'的'調用println()'函數,你傳遞一個說法,但'getAstWhile()'沒有任何參數。 – RobertR

回答

1

您將值「7」傳遞給不接受值的函數,請調用lp.getAstWhile();而不是lp.getAstWhile(7);

public String getAstWhile(int maxValue) 
{ 
    int count = 0; 
    while (count < maxValue) 
    { 
     system.out.print(count++); 
     } 
} 
+0

實際上,如果您想要它水平打印7次,請將getAstwhile更改爲以下內容: public String getAstWhile(int maxValue){count = 0; while(count Eliseo

+0

如果你想添加到你的文章,編輯它。另外,在輸入代碼時使用代碼塊。 – RobertR

+0

對不起,你是對的,只是修好了。 – Eliseo

0

使用StringBuffer。

public String getAstWhile() 
    { 
     StringBuffer buf = new StringBuffer(); 
     int count = 0; 
     while (count <= 6) 
     { 
      buf.append('*'); 
      count++; 
     } 
     return buf.toString(); 
    } 

getAstWhile在原始代碼中沒有返回字符串。

API文檔:http://docs.oracle.com/javase/7/docs/api/java/lang/StringBuffer.html 教程上的StringBuffer: http://www.tutorialspoint.com/java/java_string_buffer.htm

+2

作爲一名學生,我不確定,這個OP會理解你提供的代碼。另外,我相信指導老師會注意到變化的程度。 –

+0

當然,學生可以查找StringBuffer類。這是在Java中構建字符串的正確建議方法。 – Sammy

+0

我建議您提供鏈接和評論以幫助OP。 –