Java 使用者輸入(Scanner)
簡介
Scanner
類用於獲取使用者輸入,它位於 java.util
包中。
使用 Scanner 類
要使用 Scanner
類,請執行以下步驟:
- 匯入
java.util.Scanner
包。 - 建立一個
Scanner
物件,並將其初始化為System.in
。 - 使用
Scanner
物件的方法讀取使用者輸入。
示例
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("請輸入您的姓名:");
String name = scanner.nextLine();
System.out.println("請輸入您的年齡:");
int age = scanner.nextInt();
System.out.println("您的姓名是:" + name);
System.out.println("您的年齡是:" + age);
}
}
讀取不同型別的資料
Scanner
類提供了各種方法來讀取不同型別的資料:
方法 | 描述 |
---|---|
nextBoolean() |
讀取布林值 |
nextByte() |
讀取位元組值 |
nextDouble() |
讀取雙精度浮點數 |
nextFloat() |
讀取單精度浮點數 |
nextInt() |
讀取整型值 |
nextLine() |
讀取字串 |
nextLong() |
讀取長整型值 |
nextShort() |
讀取短整型值 |
示例
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("請輸入您的姓名:");
String name = scanner.nextLine();
System.out.println("請輸入您的年齡:");
int age = scanner.nextInt();
System.out.println("請輸入您的身高:");
double height = scanner.nextDouble();
System.out.println("您的姓名是:" + name);
System.out.println("您的年齡是:" + age);
System.out.println("您的身高是:" + height);
}
}
處理錯誤輸入
如果您嘗試讀取與預期型別不同的資料,則會丟擲 InputMismatchException
異常。您可以使用 try-catch
塊來處理此異常。
示例
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
try {
System.out.println("請輸入您的年齡:");
int age = scanner.nextInt();
System.out.println("您的年齡是:" + age);
} catch (InputMismatchException e) {
System.out.println("您輸入的年齡格式不正確。");
}
}
}
Scanner
類是獲取使用者輸入的便捷工具。它提供了各種方法來讀取不同型別的資料,並可以處理錯誤輸入。
Java 日期和時間
Java 日期和時間 API
Java 沒有內建的 Date
類,但我們可以匯入 java.time
包來使用日期和時間 API。該包包含許多日期和時間類,例如:
類 | 描述 |
---|---|
LocalDate |
表示日期(年、月、日(yyyy-MM-dd)) |
LocalTime |
表示時間(小時、分鐘、秒和納秒(HH-mm-ss-ns)) |
LocalDateTime |
表示日期和時間(yyyy-MM-dd-HH-mm-ss-ns) |
DateTimeFormatter |
日期時間物件的顯示和解析格式化程式 |
顯示當前日期
要顯示當前日期,請匯入 java.time.LocalDate
類,並使用其 now()
方法:
import java.time.LocalDate; // 匯入 LocalDate 類
public class Main {
public static void main(String[] args) {
LocalDate myObj = LocalDate.now(); // 建立一個日期物件
System.out.println(myObj); // 顯示當前日期
}
}
輸出將是:
2023-12-20
顯示當前時間
要顯示當前時間(小時、分鐘、秒和納秒),請匯入 java.time.LocalTime
類,並使用其 now()
方法:
import java.time.LocalTime; // 匯入 LocalTime 類
public class Main {
public static void main(String[] args) {
LocalTime myObj = LocalTime.now();
System.out.println(myObj);
}
}
輸出將是:
16:34:36.910624
顯示當前日期和時間
要顯示當前日期和時間,請匯入 java.time.LocalDateTime
類,並使用其 now()
方法:
import java.time.LocalDateTime; // 匯入 LocalDateTime 類
public class Main {
public static void main(String[] args) {
LocalDateTime myObj = LocalDateTime.now();
System.out.println(myObj);
}
}
輸出將是:
2023-12-20T16:34:36.910771
格式化日期和時間
上面示例中的“T”用於分隔日期和時間。您可以使用同一包中的 DateTimeFormatter
類的 ofPattern()
方法來格式化或解析日期時間物件。以下示例將從日期時間中刪除“T”和納秒:
import java.time.LocalDateTime; // 匯入 LocalDateTime 類
import java.time.format.DateTimeFormatter; // 匯入 DateTimeFormatter 類
public class Main {
public static void main(String[] args) {
LocalDateTime myDateObj = LocalDateTime.now();
System.out.println("格式化前:" + myDateObj);
DateTimeFormatter myFormatObj = DateTimeFormatter.ofPattern("dd-MM-yyyy HH:mm:ss");
String formattedDate = myDateObj.format(myFormatObj);
System.out.println("格式化後:" + formattedDate);
}
}
輸出將是:
格式化前: 2023-12-20T16:34:36.910287
格式化後: 20-12-2023 16:34:36
ofPattern()
方法接受各種值,您可以使用它們以不同的格式顯示日期和時間。例如:
值 | 示例 |
---|---|
yyyy-MM-dd |
"1988-09-29" |
dd/MM/yyyy |
"29/09/1988" |
dd-MMM-yyyy |
"29-Sep-1988" |
E, MMM dd yyyy |
"Thu, Sep 29 1988" |
Java 日期和時間 API 提供了多種類和方法來處理日期和時間。您可以使用這些工具來顯示、格式化和解析日期和時間資料。
最後
為了方便其他裝置和平臺的小夥伴觀看往期文章:
微信公眾號搜尋:Let us Coding
,關注後即可獲取最新文章推送
看完如果覺得有幫助,歡迎 點贊、收藏、關注