从Java中的多个方法获得用户输入的最佳实践



我有一个相对基本的程序,其中有几种方法从用户那里获取输入(使用Scanner对象(。我想看看这些技术中的哪一种(如果有的话(被认为是标准的或最佳实践。在这里,我将使用一种方法作为示例。

  1. 在每个方法中分别创建一个新的扫描仪对象:
// Get date from user
public static LocalDate getDateFromUser(String date_request_label){
Scanner inputScan = new Scanner (System.in);
System.out.print(date_request_label + " (YYYYMMDD): ");
String input_string = inputScan.nextLine();
// Split input into year/month/day
int year  = Integer.parseInt(input_string.substring(0,4));
int month = Integer.parseInt(input_string.substring(4,6));
int day   = Integer.parseInt(input_string.substring(6,8));
return LocalDate.of(year,month,day);
}
  1. 在main中创建一个扫描程序对象,并在每个方法中调用它:
// Get date from user
public static LocalDate getDateFromUser(Scanner inputScan, String date_request_label){
System.out.print(date_request_label + " (YYYYMMDD): ");
String input_string = inputScan.nextLine();
// Split input into year/month/day
int year  = Integer.parseInt(input_string.substring(0,4));
int month = Integer.parseInt(input_string.substring(4,6));
int day   = Integer.parseInt(input_string.substring(6,8));
return LocalDate.of(year,month,day);
}

谢谢!

IMHO最好重用对象,只要它不会降低代码的可读性。

所以我选择第二种选择。

相关内容

  • 没有找到相关文章

最新更新