[英]Multiple Scanner Inputs (Java)
我目前正在学习Java,并且有一个问题:
我知道使用Scanner可以让我从控制台接收输入,但是如何在一行上接收多个输入,而不是每行仅接收一个输入?
例如:
Enter input: 1 3 5
您不需要多个扫描仪。 一个绰绰有余
通过像1 3 5
这样的输入,您可以将其读为整行(字符串)
Scanner sc = new Scanner(System.in);
String input1 = sc.nextLine();
System.out.println(input1);
或只是整数获取整数
int inputA1 = sc.nextInt();
int inputA2 = sc.nextInt();
int inputA3 = sc.nextInt();
System.out.println("--------");
System.out.println(inputA1);
System.out.println(inputA2);
System.out.println(inputA3);
您可以使用以下功能,该功能将从扫描仪返回多个输入
public List<String> getInputs(String inputseparator)
{
System.out.println("You Message here");
Scanner sc = new Scanner(System.in);
String line = sc.nextLine();
return line.split(inputseparator);
}
你可以这样使用它
List<String> inputs = getInputs(" ");
//iterate inputs and do what you want to . .
您可以使用扫描仪的nextLine()方法。下面是示例代码。
import java.util.Scanner;
public class Test {
public static void main(String args[])
{
Scanner s = new Scanner(System.in);
//sample input: 123 apple 314 orange
System.out.println("Enter multiple inputs on one line");
String st = s.nextLine();
s = new Scanner(st).useDelimiter("\\s");
//once the input is read from console in one line, you have to manually separate it using scanner methods.
System.out.println(s.nextInt());
System.out.println(s.next());
System.out.println(s.nextInt());
System.out.println(s.next());
s.close();
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.