gpt4 book ai didi

java - 是否可以使用 java.util.Scanner 检测单个 Enterkey?

转载 作者:行者123 更新时间:2023-12-02 09:11:48 24 4
gpt4 key购买 nike

我正在尝试编写一个基于终端的玩具应用程序,它允许用户输入产品类别和库存。

是否可以实现按回车键输入默认库存的功能。

这是程序/步骤

  1. 应用打印“产品类别:”

  2. 用户输入一个类别,例如鞋子

  3. 应用程序打印“库存(按 Enter 键输入 999):”

  4. 用户按 Enter 键或输入另一个数字

  5. 应用打印产品类别 + 产品库存

这是我的代码

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));
}

}

此代码不支持“默认 Enterkey”功能。

问题

是否可以使用java.util.Scanner检测单个回车键来实现默认输入?

我也尝试过这段代码,甚至更糟糕

导入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));
}

关于java - 是否可以使用 java.util.Scanner 检测单个 Enterkey?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59354399/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com