[英]Is it possible detect single enterkey with java.util.Scanner?
我正在嘗試編寫一個基於終端的玩具應用程序,它允許用戶輸入產品類別和庫存。
是否可以實現按回車鍵輸入默認庫存的功能。
這是程序/步驟
應用打印“產品類別:”
用戶輸入一個類別,例如鞋子
應用程序打印“庫存(按回車鍵 999):”
用戶按回車鍵或輸入另一個數字
應用打印 product_category + product_inventory
這是我的代碼
import java.util.Scanner;
public class ProductScanner {
public static void main(String[] args) {
System.out.print("product category: ");
Scanner scanner = new Scanner(System.in);
String product_category = scanner.next();
System.out.print("Inventory(press enter key for 999): ");
int product_inventory = scanner.nextInt();
scanner.close();
System.out.println(String.format("%s, %d", product_category, product_inventory));
}
}
此代碼不支持“默認回車鍵”功能。
是否可以使用 java.util.Scanner 檢測單個 enterkey 以實現默認輸入?
我也試過這段代碼,更糟糕的是
導入 java.util.Scanner;
public class ProductScanner {
public static void main(String[] args) {
System.out.print("product category: ");
Scanner scanner = new Scanner(System.in);
String product_category = scanner.next();
scanner.close();
System.out.print("Inventory(press enter key for 999): ");
scanner = new Scanner(System.in);
String product_inventory_str = "999";
if(scanner.hasNext()){
System.out.println("hasNext");
product_inventory_str = scanner.nextLine();
}
else{
System.out.println("does not have Next");
}
int product_inventory = 999;
if(product_inventory_str.isEmpty()){
System.out.println("isEmpty");
}
else{
product_inventory = Integer.parseInt(product_inventory_str);
}
scanner.close();
System.out.println(String.format("%s, %d", product_category, product_inventory));
}
}
您始終可以閱讀整行(因為用戶無論如何都必須按 Enter),然后決定如何處理它,如下所示:
public static void main(String[] args) {
System.out.print("product category: ");
Scanner scanner = new Scanner(System.in);
String product_category = scanner.nextLine();
System.out.print("Inventory(press enter key for 999): ");
String pi_string = scanner.nextLine();
int product_inventory = pi_string.isEmpty()?
999:Integer.parseInt(pi_string);
scanner.close();
System.out.println(String.format("%s, %d",
product_category, product_inventory));
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.