4 回答

TA貢獻(xiàn)1880條經(jīng)驗(yàn) 獲得超4個贊
你把換行符放在錯誤的位置。我會把它與寫作分開*,比如
public class Test1 {
public static void main(String[] args) {
for (int i = 1; i <= 5; i++) {
for (int j = 1; j <= i; j++) {
System.out.print("*");
}
System.out.println();
}
}
}

TA貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超9個贊
*你一開始就打印一個。它應(yīng)該像你正在做的那樣完成。在 1 次完整迭代后打印新行For,如下所示:
代碼:
for (int i = 1; i <= 5; i++)
{
//System.out.println("*"); // This line should not be here
for (int j = 1; j <= i; j++)
{
System.out.print("*");
}
System.out.println(); // you can print new line after each nested-for compleletion
}

TA貢獻(xiàn)2021條經(jīng)驗(yàn) 獲得超8個贊
簡短回答(TL;DR)
你的換行符放錯了。在內(nèi)部 for 循環(huán)執(zhí)行之后放置換行符,如下所示:
public class Test1 {
public static void main(String[] args) {
for (int i = 1; i <= 5; i++) {
for (int j = 1; j <= i; j++) {
System.out.print("*");
}
System.out.println();
}
}
}
詳細(xì)解答
首先,您必須了解System.out.print()和之間的區(qū)別System.out.println()。這兩個基本上做同樣的事情:他們打印出傳遞給他們的參數(shù)。但是,有一個明顯的區(qū)別:System.out.println()在打印后生成一個新的換行符,但System.out.print實(shí)際上并沒有。要理解這個概念,請檢查下面的示例代碼:
System.out.println("Tadaa");
System.out.print("Ta");
System.out.print("daa");
System.out.print("Stackoverflow");
其輸出將是:
多田
多田
堆棧溢出
使用這個邏輯,很容易看出哪里出了問題。直覺上,中斷 [ .println()] 應(yīng)該發(fā)生在每次迭代結(jié)束時。
我希望這有幫助。編碼愉快!

TA貢獻(xiàn)1876條經(jīng)驗(yàn) 獲得超7個贊
這是所需輸出的代碼
for (int i = 1; i <= 5; i++)
{
//System.out.println("*");
for (int j = 1; j <= i; j++)
{
System.out.print("*");
}
System.out.println();
}
添加回答
舉報