iT邦幫忙

2026 iThome 鐵人賽

DAY 3
0
自我挑戰組

Java 程式設計與實作:30 天打造個人記帳系統系列 第 3

使用 Scanner:讓使用者自己輸入記帳資料

  • 分享至 

  • xImage
  •  

前一天我學到了 Java 的變數與資料型態,也試著用變數記錄一筆消費資料。
不過昨天的消費項目、金額和分類都是直接寫在程式碼裡,如果每次記帳都要修改程式碼,其實很不方便。
所以今天要學習 Java 的 Scanner,讓使用者可以直接輸入自己的消費資料。

什麼是 Scanner?
Scanner 是 Java 中可以用來讀取使用者輸入資料的工具。
使用 Scanner 前,需要先加入:
import java.util.Scanner;
接著建立 Scanner:
Scanner scanner = new Scanner(System.in);
這樣程式就可以接收我們從鍵盤輸入的內容。
例如:
System.out.print("請輸入姓名:");
String name = scanner.nextLine();
程式執行後,就會等待使用者輸入姓名。

Scanner 常見的輸入方式
不同資料可以使用不同的方法讀取。
例如讀取文字:
String item = scanner.nextLine();
讀取整數:
int amount = scanner.nextInt();
所以如果我要輸入「晚餐」和「150」,就可以分別使用 nextLine() 和 nextInt()。

今天的小實作:自己輸入一筆消費
今天把昨天的記帳程式改成可以讓使用者自己輸入資料。
import java.util.Scanner;

public class Main {
public static void main(String[] args) {

    Scanner scanner = new Scanner(System.in);

    System.out.println("===== 個人記帳系統 =====");

    System.out.print("請輸入消費項目:");
    String item = scanner.nextLine();

    System.out.print("請輸入消費金額:");
    int amount = scanner.nextInt();
    scanner.nextLine();

    System.out.print("請輸入消費分類:");
    String category = scanner.nextLine();

    System.out.println();
    System.out.println("===== 記帳完成 =====");
    System.out.println("消費項目:" + item);
    System.out.println("消費金額:" + amount + " 元");
    System.out.println("消費分類:" + category);

    scanner.close();
}

}

執行結果
例如我輸入:
===== 個人記帳系統 =====
請輸入消費項目:晚餐
請輸入消費金額:150
請輸入消費分類:飲食

===== 記帳完成 =====
消費項目:晚餐
消費金額:150 元
消費分類:飲食

這樣就比昨天更像真正的記帳程式了。
昨天的資料只能直接寫在程式碼裡,今天使用 Scanner 之後,就可以在每次執行程式時輸入不同的消費項目、金額和分類。

為什麼中間有 scanner.nextLine()?
今天寫程式的時候有一個比較容易搞混的地方。
在這段:
int amount = scanner.nextInt();
scanner.nextLine();
nextInt() 讀取完數字之後,輸入時按下 Enter 所留下的換行還沒有被讀取。
所以再加一次:
scanner.nextLine();
把換行讀掉,下一次輸入消費分類時才不會直接被跳過。
這也是今天實作時學到的一個小細節。

Day 3 學習心得
今天學會使用 Scanner 接收使用者輸入,也把前一天的記帳程式再往前完成了一步。
以前寫程式時比較常直接把資料寫在程式碼裡,今天改成讓使用者自己輸入之後,感覺程式開始真的可以互動了。
另外也學到 nextInt() 和 nextLine() 一起使用時需要注意換行的問題。雖然目前一次只能輸入一筆資料,但接下來可以慢慢加入判斷和其他功能,讓記帳系統越來越完整。


上一篇
變數與資料型態:開始記錄第一筆消費
下一篇
if / else 條件判斷:讓記帳程式判斷消費金額
系列文
Java 程式設計與實作:30 天打造個人記帳系統7
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言