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

Java 控制台分步輸入優化:單 Scanner 實現多值提示

     編輯:程式設計綜合問答

原代碼問題

Scanner N = new Scanner(System.in);
Scanner P = new Scanner(System.in); // ❌ 多餘,同一輸入流無需多實例
int number = N.nextInt();
double price = P.nextDouble(); // 連續讀取,無提示間隔

優化後代碼

Scanner sc = new Scanner(System.in);
System.out.println("Please input the number");
int number = sc.nextInt();          // 讀取整數,換行符留在緩衝區
System.out.println("Please input the price");
double price = sc.nextDouble();     // 直接讀取下一個 double
System.out.println("The final cost ... is $" + (price * number * 1.07));

關鍵點

  • 單 Scanner 實例複用 System.in;
  • nextInt() 後緩衝區剩餘換行符,nextDouble() 會自動跳過空白字符(含換行),無需額外處理;
  • 輸出格式化:直接在打印時計算,減少中間變量。

進階提示

若需讀取整行字符串(含空格),在 nextInt() 後調用一次 sc.nextLine() 清空換行符,再用 nextLine() 讀取文本。

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