我正在进行一项任务,我需要从控制台读取2个单独的行,将其存储在单个变量中,然后才能将其拆分。
示例输入:
'5'
'FIRSTNAME'
第一行输入需要转换为整数,第二行需要转换为字符串。所以你最终会得到:
5 - int
“名字” - 字符串
我尝试过使用String.split()
方法,但我不确定如何按换行符进行拆分。
答案 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