我已经阅读了这些问题的数量,但它们都是关于从txt
文件中读取输入。我想读取用户的输入而不是文件。
我输入如下:
6 //number of total Strings to store in array
babu
anand
rani
aarti
nandu
rani
我已尝试使用以下代码在String
数组中进行此类输入:
int n = in.nextInt(); // n= 6 here
String[] s = new String[n]; //String array of size 6 here
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
try{
s = br.readLine().split("\\s");
}
catch(Exception e){
System.out.println(e);
}
提供给regex
的{{1}}是否正确?我在这里失踪了什么?如果这不是我应该为这个问题做的正确方法吗?
答案 0 :(得分:0)
正则表达式在使用斜杠\
时使用反斜杠(//s
),正确的是\\s
。
但是不需要这种分割,你只需要readLine
,你就会得到你需要的东西(假设你不想在行中分割单词)。
您应该使用循环来读取所有数据(并删除您在in
变量中显示的扫描程序):
String[] s = null
try (BufferedReader br = new BufferedReader(new InputStreamReader(System.in)) {
int n = Integer.parseInt(br.readLine());
for (int line = 0; line < n; line++) {
s[line] = br.readLine();
}
} catch(Exception e){
System.out.println(e);
}
答案 1 :(得分:0)
在第一行之前移动第三行。
然后在新的第二行中使用它:
int n = Integer.parseInt(br.readLine());
当然,您需要一个循环将输入字符串放入数组中。
这应该有所帮助。