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