Java - 使用者輸入
哈囉,未來的Java程式設計師們!今天,我們將進入Java中使用者輸入的精彩世界。作為您親切友善的電腦科學老師,我將引導您走過這個程式設計的重要環節。相信我,一旦您掌握了這項技能,您將會感覺自己像個巫師,能夠召喚出互動式程式!
為什麼使用者輸入很重要
想象一下,如果您正在創建一個需要玩家猜數字遊戲。沒有使用者輸入,您的遊戲可能會像看油漆乾燥一樣無趣!使用者輸入為我們的程式帶來生命,使它們變得動態且互動。這就像讓您的程式擁有耳朵,能夠聽見使用者想要說的話。
魔法棒:Scanner類別
在Java中,我們用Scanner
類別作為捕獲使用者輸入的魔法棒。它就像一個友善的機器人,會傾聽使用者輸入的內容,並將這些資訊帶給我們的程式。讓我們看看如何召喚這個有用的助手:
import java.util.Scanner;
public class UserInputExample {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// 這裡還會有更多代碼
}
}
在這個咒語(我是指,代碼)中,我們做了兩件重要的事:
- 我們從
java.util
包中import
了Scanner類別。 - 我們創建了一個新的Scanner物件,它將從
System.in
(代表鍵盤輸入)中讀取。
擷取我們的第一個輸入
現在我們已經準備好Scanner,讓我們用它來詢問使用者的名字:
System.out.print("你叫什麼名字? ");
String name = scanner.nextLine();
System.out.println("哈囉," + name + "! 歡迎來到Java程式設計!");
讓我們來解析一下:
- 我們使用
System.out.print()
來提問使用者。 -
scanner.nextLine()
會等待使用者輸入內容並按下Enter。 - 我們將使用者輸入的內容存儲在
name
變量中。 - 最後,我們用使用者的名字向他們問好!
當您運行此程式時,可能會看起來像這樣:
你叫什麼名字? Alice
哈囉,Alice! 歡迎來到Java程式設計!
這不是很神奇嗎?我們正在和我们的程式對話!
不同的輸入類型
現在,讓我們探索如何輸入不同的數據類型。Scanner類別非常多才多藝,可以處理各種數據類型。以下是我們可以使用的方法表格:
方法 | 描述 |
---|---|
nextLine() | 讀取String值 |
nextInt() | 讀取int值 |
nextDouble() | 讀取double值 |
nextBoolean() | 讀取boolean值 |
next() | 讀取單個詞(String) |
讓我們在更複雜的例子中看看這些方法的運用:
import java.util.Scanner;
public class UserInputTypes {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("請輸入您的年齡: ");
int age = scanner.nextInt();
System.out.print("請輸入您的身高(公尺): ");
double height = scanner.nextDouble();
System.out.print("您是學生嗎?(true/false): ");
boolean isStudent = scanner.nextBoolean();
scanner.nextLine(); // 消耗剩下的換行符
System.out.print("您最喜歡的颜色是什麼? ");
String color = scanner.nextLine();
System.out.println("\n以下是您告訴我的:");
System.out.println("年齡:" + age);
System.out.println("身高:" + height + " 公尺");
System.out.println("學生:" + isStudent);
System.out.println("最喜歡的颜色:" + color);
scanner.close(); // 記得關閉scanner!
}
}
這個程式就像一個友善的機器人采訪者!它會要求提供各種資訊,然後總結它學到的內容。以下是一些重要的點:
- 我們使用不同的方法(
nextInt()
,nextDouble()
,nextBoolean()
,nextLine()
)來讀取不同類型的輸入。 - 注意在
nextBoolean()
之後的額外scanner.nextLine()
。這是一個小技巧,用來處理按Enter留下的換行字符。 - 最後,我們
關閉()
scanner。清潔我們的環境是很好的禮貌!
處理輸入錯誤
現在,如果使用者輸入了意料之外的內容會怎麼樣?例如,如果他們在我們詢問年齡時輸入"二十五"會怎麼樣?我們的程式可能會比90年代的電腦還要快地崩潰!為了防止這種情況,我們可以使用錯誤處理:
import java.util.Scanner;
import java.util.InputMismatchException;
public class SafeUserInput {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int age = 0;
boolean validInput = false;
while (!validInput) {
try {
System.out.print("請輸入您的年齡: ");
age = scanner.nextInt();
validInput = true;
} catch (InputMismatchException e) {
System.out.println("糟糕!那不是有效的年齡。請輸入一個數字。");
scanner.nextLine(); // 清除無效輸入
}
}
System.out.println("您的年齡是:" + age);
scanner.close();
}
}
這段代碼就像一個有耐心的老師。它會不斷地詢問年齡,直到獲得有效的數字。如果使用者輸入了不是數字的內容,它會親切地要求他們再試一次。
結論
恭喜!您已經學會了如何通過獲取使用者輸入來使您的Java程式變得互動。請記住,孰能生巧。嘗試創建您自己的程式,要求使用者輸入——也許是一個簡單的計算器,或者是一個使用者必須猜數字的遊戲。可能性是無窮的!
在我們結束之前,這裡有一個有關程式設計的笑話:Java開發者為什麼要戴眼鏡?因為他們不C#!(懂了嗎?C-Sharp?好吧,我會自己出去的...)
繼續編碼,繼續學習,最重要的是,玩得開心!直到下次,這是您的親切鄰居Java老師簽名。編碼愉快!
Credits: Image by storyset