首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Java Scanner 一次讀取多個變量:nextInt() 連續調用 vs nextLine() 手動分割

     編輯:程式設計綜合問答

場景

控制台輸入:2008 1(年份 月份,空格分隔),需分別存入 `year`、`month`。

方案一:連續 nextInt()(最簡潔)

Scanner sc = new Scanner(System.in);
int year = sc.nextInt();   // 讀 2008
int month = sc.nextInt();  // 讀 1
// 自動跳過空白字符(空格、換行、Tab)

方案二:nextLine() + split(適用於複雜格式)

String line = sc.nextLine();          // 讀整行 "2008 1"
String[] parts = line.trim().split("\\s+"); // 正則分割,兼容多空格
int year = Integer.parseInt(parts[0]);
int month = Integer.parseInt(parts[1]);

對比總結

維度nextInt() 連續nextLine() + split
代碼量極少稍多
容錯性輸入非數字拋異常可先檢查 parts.length 再解析
適用場景固定順序、純數字輸入混合類型、需驗證格式、讀取整行文本

注意:Java 無 scanf 風格格式化讀取

C 语言 `scanf("%d %d", &y, &m)` 的功能,Java 需靠上述兩種方式組合實現。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved