算法練習(xí)(23):計(jì)數(shù)器設(shè)計(jì),畫點(diǎn)(1.2.10)

本系列博客習(xí)題來自《算法(第四版)》,算是本人的讀書筆記,如果有人在讀這本書的,歡迎大家多多交流。為了方便討論,本人新建了一個(gè)微信群(算法交流),想要加入的,請?zhí)砑游业奈⑿盘?hào):zhujinhui207407 謝謝。另外,本人的個(gè)人博客 http://www.kyson.cn 也在不停的更新中,歡迎一起討論

算法(第4版)

知識(shí)點(diǎn)

  • 計(jì)數(shù)器
  • 點(diǎn)的繪制

題目

1.2.10 編寫一個(gè)類 VisualCounter,支持加一和減一操作。它的構(gòu)造函數(shù)接受兩個(gè)參數(shù) N 和 max,其中 N 指定了操作的最大次數(shù), max 指定了計(jì)數(shù)器的最大絕對值。作為副作用,用圖像顯示每次計(jì)數(shù)器變化后的值。


1.2.10 Develop a class VisualCounter that allows both increment and decrement operations. Take two arguments N and max in the constructor, where N specifies the maximum number of operations and max specifies the maximum absolute value for the counter. As a side effect, create a plot showing the value of the counter each time its tally changes.

public class VisualCounter {
    private long N;
    private double total;

    public VisualCounter(long trails, double max) {
        StdDraw.setXscale(0, trails);
        StdDraw.setYscale(-max, max);
        StdDraw.setPenRadius(.005f);
    }

    public void increment() {
        N++;
        total ++;
        StdDraw.setPenColor(StdDraw.DARK_GRAY);
        StdDraw.point(N, total);
    }

    public void decrement() {
        N++;
        total --;
        StdDraw.setPenColor(StdDraw.DARK_GRAY);
        StdDraw.point(N, total);
    }

    public static void main(String[] args) {
        VisualCounter counter = new VisualCounter(300, 150.0);
        for (int i = 0; i < 10000; i++)
            if (StdRandom.random() > 0.5) {
                counter.increment();;
            }else {
                counter.decrement();;
            }
        StdOut.println(counter);
    }

}

代碼索引

VisualCounter.java

視頻講解

點(diǎn)此觀看分析視頻

廣告

我的首款個(gè)人開發(fā)的APP壁紙寶貝上線了,歡迎大家下載。

本人所有簡書的算法文章已經(jīng)移入小專欄:算法四習(xí)題詳解,歡迎大家訂閱

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 葡萄酒的營養(yǎng)價(jià)值 20世紀(jì)80年代初,有科學(xué)研究發(fā)現(xiàn),適量地飲用葡萄酒有益人體健康,特別是對心臟血管疾病有良好的預(yù)...
    白檸閱讀 315評論 0 0
  • 版權(quán)聲明:原創(chuàng)攝影作者為戴德文,如需轉(zhuǎn)載,請注明作者及原文出處。 我曾在以前的一篇文章《【攝影雜談】用手機(jī)也可以捕...
    影像派閱讀 803評論 7 11
  • 上到第四節(jié)課的時(shí)候,我已經(jīng)餓的快要昏頭了,大腦仿佛已經(jīng)停止思考了。 準(zhǔn)備早餐的時(shí)候,只剩下一袋牛奶了。寶寶跳舞在即...
    阿蓮的伊薩卡島閱讀 428評論 4 7

友情鏈接更多精彩內(nèi)容