读取两行输入然后拆分

时间:2016-05-21 11:45:49

标签: java string java.util.scanner

我正在进行一项任务,我需要从控制台读取2个单独的行,将其存储在单个变量中,然后才能将其拆分。

示例输入:

'5'
'FIRSTNAME'

第一行输入需要转换为整数,第二行需要转换为字符串。所以你最终会得到:
5 - int
“名字” - 字符串

我尝试过使用String.split()方法,但我不确定如何按换行符进行拆分。

2 个答案:

答案 0 :(得分:2)

答案很简单。

Scanner scanner = new Scanner(System.in);

public static void main(String[] args) {
    int line1 = 0;

    while (true) {
        String input = scanner.nextLine();
        if (input.length > 0) {
            try {
                line1 = Integer.parseInt(input);
                break;
            } catch (NumberFormatException e) {
                System.out.println("Input not an integer, try again.");
            }
        } else {
            // User entered nothing. Break loop to stop it from never ending.
            break;
        }
    }
    String line2 = Scanner.nextLine();
}

这将存储扫描程序中的整数,并强制确保它是一个整数,然后存储一个字符串。如果您没有正确输入整数,它将请求另一个。

如果您需要稍后为每个空格分割字符串,请使用:

String[] array = line2.split(" ");

您无法拆分整数。

如果两个输入都需要组合成一个字符串,那么您可以使用:

String completeString = line1 + " " + line2;

再次,您可以使用以下方法拆分:

String[] array = completeString.split(" ");

因此,如果用户输入了55,并且" Hello",则在拆分后最终会得到以下结果:

["55", "Hello"]

答案 1 :(得分:0)

Scanenr scan = new Scanner(System.in);
String input = scan.nextLine();
String[] th = input.split(" ");

//After splitting
int a = Integer.parseInt(th[0]);  //5
String b = th[1]; //FirstName