亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用循環減少每行中打印的(相同)字符的數量?

如何使用循環減少每行中打印的(相同)字符的數量?

一只甜甜圈 2022-07-06 10:05:24
基本上,我正在嘗試打印字符行,特別是星號。隨后的每一行都應該比前一行少一個星號。此外,它們都應該向右對齊。我對Java的了解不是太強,所以請多多包涵。這是輸出和說明的圖像:
查看完整描述

2 回答

?
梵蒂岡之花

TA貢獻1900條經驗 獲得超5個贊

讓我們從一個更簡單的例子開始:


***

 **

  *

你看到什么模式?模式是在每一行上,星號數量和空格數量之和是恒定的。我現在將這個常量L稱為line length。

由此,我們可以推斷amountOfSpaces是L - amountOfAsterisks,反之亦然(因為代數的魔法定律也適用于此)。


因此,由此我們可以推斷出,在每一行上,我們需要先打印L - amountOfAsterisks空格,然后再打印amountOfAsterisks. 對于這樣的情況,for循環是一種救命稻草(在更專業的代碼中(就像你可以通過花哨的終端圖形獲得的專業一樣),這會有所不同,因為實際上使用for-loops 來實現這樣的功能O(N)) .


剩下的由你決定


查看完整回答
反對 回復 2022-07-06
?
慕娘9325324

TA貢獻1783條經驗 獲得超4個贊

可以根據需要修改變量。關鍵是使用一堆 for 循環并跟蹤所有變量。


for (int i = 0; i < 8; i++) { //line number your on

    for(int k = 0; k<i;k++)//keeps track of number of spaces to use, line number minus 1 spaces printed

    {

    System.out.print(" ");

    }

for (int j = 8; j >i; j--) {//prints out 8 * and reduced by 1*line number

System.out.print("*"); 

}

System.out.println();//prints new line and initiates new line by i++

}


查看完整回答
反對 回復 2022-07-06
  • 2 回答
  • 0 關注
  • 113 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號