簡體   English   中英

多個掃描儀輸入(Java)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM