iT邦幫忙

2025 iThome 鐵人賽

DAY 3
0
Software Development

軟體開發養成計畫:以小程式實作深化開發能力系列 第 3

[Day3]我的第一個小程式:用 Python 實作簡單計算機

  • 分享至 

  • xImage
  •  

回顧昨天比較了三種程式語言的差異,今天要正式挑戰實作第一個小程式啦~
我選擇以「計算機」作為主題,原因為它是經典的入門練習,可以幫助我熟悉輸入與輸出的操作,也能練習基本的運算邏輯。
那麼~現在就開始動手吧!

視窗&介面設計

  • 一開始先利用JFrame創建大小為300x400的主視窗,
    接著採用BorderLayout加設了輸入框跟按鈕面板的部分。
    1

  • 按鈕我想要呈現的是5 行 4 列的格子排列,
    包括數字0~9、小數點 .、四則運算符號 + - * /、等號 = 以及清空 C。
    2

  • 這裡加上button.addActionListener(this)讓按鈕可以對使用者的點擊做出反應。
    最後把整個面板 panel 加到 視窗的中間區域(BorderLayout.CENTER)。
    3

按鈕事件處理

  • 程式實作 ActionListener,透過 actionPerformed 判斷按鈕類型。
    數字與小數點會加到輸入框,運算符號會顯示於數字間,等號會呼叫運算函數計算結果,清空鍵可清除輸入框。
    4
    5

  • 此外,若格式不對或運算符非法,會丟出例外並回傳 Error,確保程式在錯誤輸入時能安全回應,我還加裝了使用者重新輸入會讓上一個結果是 Error 時自動清空的小功能。
    6
    10

計算邏輯解析簡單算式

  • eval 方法解析格式為「數字 運算符 數字」的簡單算式,如果輸入不是輸出此格式,會丟出 IllegalArgumentException。
    邏輯算式支援加減乘除四則運算,特別是除法會檢查除數是否為零避免錯誤。
    7

啟動主程式

  • 使用 SwingUtilities.invokeLater 確保在事件分派線程中執行,建立 Main 物件並顯示視窗,完成計算機程式啟動。
    9

計算機結果呈現

11
我的第一個小程式作品完成啦!
這次算是新手級的挑戰,但也讓我慢慢重拾對 Java 的記憶,哈哈~
接下來就讓我們一起期待下一個主題吧!


上一篇
[Day2]開發環境準備:選擇適合新手的程式開發工具
下一篇
[Day4]工具分享:Python 基礎模組與開發環境(VS Code / PyCharm)
系列文
軟體開發養成計畫:以小程式實作深化開發能力4
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言