簡體   English   中英

使用循環然后 If 和 Else

[英]Using of Loops then If and Else

我有一個需要運行的 ToString() 方法,但需要使用循環而不是 if 和 else 語句。 我該怎么做?

public String toString() 
    {

        if (collectedDots == 0)
            return "Player[]"+"("+x+","+Math.abs(y)+")";
        else if (collectedDots == 1)
            return "Player["+"*"+"]"+"("+x+","+Math.abs(y)+")";
        else if (collectedDots == 2)
            return "Player["+"**"+"]"+"("+x+","+Math.abs(y)+")";
        else 
            return "Player["+"***"+"]"+"("+x+","+Math.abs(y)+")";

    }

你可以使用 switch 而不是if

switch(collectedDots )
{
case 0:        return "Player[]"+"("+x+","+Math.abs(y)+")";
case 1:        return "Player["+"*"+"]"+"("+x+","+Math.abs(y)+")";
case 2:        return "Player["+"**"+"]"+"("+x+","+Math.abs(y)+")";
default:         return "Player["+"***"+"]"+"("+x+","+Math.abs(y)+")";
}

編寫一個循環,生成一串collectedDots星號:

String asterisks = "";
// Here is your loop. It iterates "collectedDots" times
for (int i = 0 ; i != collectedDots ; i++) {
    // Append an asterisk to the string "asterisks"; I assume that you know how to do that
}

有了asterisks字符串,其余的toString就變得微不足道了:

return "Player["+asterisks+"]"+"("+x+","+Math.abs(y)+")";

花更多時間查看您的輸出。

你的老師在課堂上教過如何打印以下圖案嗎?

(沒有)

一種

機管局

AAA

public static void main(String[] args) {
    StringBuilder stringBuilder = new StringBuilder();
    for(int i = 0; i < 4; i++) {
        System.out.println(stringBuilder.toString());
        stringBuilder.append("*");
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM