java - 从 BufferReader 获取输入
问题描述
我想从控制台扫描以下输入,但在BufferedReader
输入 3 行后不扫描。请帮助....以下是我的代码
public static void main(String args[]) throws IOException
{
root = new trienode();
System.out.println("enter inputs");
BufferedReader s = new BufferedReader (new InputStreamReader(System.in));
String[] s1 = s.readLine().split(" ");
int n = Integer.parseInt(s1[0]);
int l = Integer.parseInt(s1[1]);
for(int i=0;i<n;i++)
{
String[] s2 = s.readLine().split(" ");
String key=s2[0];
int w=Integer.parseInt(s2[1]);
//Insert(key , w);
}
for(int j=0;j<l;j++)
{
String s3 = s.readLine();
if(search(s3)!=-1)
System.out.println(search(s3));
}
}
我的输入是
2 1
abc 10
gef 9
ghi
无法扫描ghi
......请帮忙
解决方案
更改" "
为"\\s+"
拆分功能。
public static void main(String args[]) throws IOException {
root = new trienode();
System.out.println("enter inputs");
BufferedReader s = new BufferedReader (new InputStreamReader(System.in));
String[] s1 = s.readLine().split("\\s+");
int n = Integer.parseInt(s1[0]);
int l = Integer.parseInt(s1[1]);
for(int i=0;i<n;i++)
{
String[] s2 = s.readLine().split("\\s+");
String key=s2[0];
int w=Integer.parseInt(s2[1]);
//Insert(key , w);
}
for(int j=0;j<l;j++)
{
String s3 = s.readLine();
if(search(s3)!=-1)
System.out.println(search(s3));
}
}
推荐阅读
- c++ - 为什么我在具有 16 GB 内存的 mac 上看到多 TB 范围内的 c++ 指针?
- react-native - 反应原生调试器无法识别新文件添加
- python - 我希望单个数字与表中的其他多位数字更好地对齐
- python - 使用 python-docx 添加页码
- python - 无法连接mongodb,ssl错误,超时错误
- node.js - 我将前端和后端应用程序上传到 Heroku,但无法使用 jwt()
- c++ - 您可以在 C++ 中匿名填充向量向量吗?
- angular - Angular 7 ngFor不更新绑定属性
- javascript - 有没有办法在 Comodo 徽标中为 IMG 设置 ALT / TITLE 为 LINK?
- javascript - 无法从 web3.js 中找到模块加密