如何处理多条扫描仪输入线

时间:2019-06-14 08:43:42

标签: java java.util.scanner

如何一次使用多个扫描仪输入? (例如:我正在编写程序,其中打印有:半径,周长,直径和面积,其行上的每个值。
用户输入该值之一。然后使用该值的程序将打印其余的值) 我不知道如何分隔输入

1 个答案:

答案 0 :(得分:0)

您不应使用多个Scanner,因为它们消耗流,并且其中多个对象可能导致副作用。以下是有关此内容的更多信息:https://wiki.sei.cmu.edu/confluence/display/java/FIO06-J.+Do+not+create+multiple+buffered+wrappers+on+a+single+byte+or+character+stream

但是您可以做的是逐行读取(对于您的用例,您不需要多个罐头,也可以读取一行,并用分号或空格等分隔值):

private void readInput() {
  int radius, circum, ...
  Scanner sc = new Scanner(System.in);
  System.out.println("Enter radius:")
  radius = sc.nextDouble();
  //do so with your other variables  
}