java输入时如何通过回车(enter)来结束输入
短信预约 -IT技能 免费直播动态提醒
输入时通过回车(enter)来结束输入
在编写java程序的时候,我们想通过输入回车来完成这一行的输入,这是一个非常常见的问题,但是如果我们是用Scanner ,然后通过nextInt()方法调用的时候,不会停止输入,回打出一个空行,然后等着你继续输入下一个数字。
解决办法
我们可以设置两个Scanner 第一个以行为单位读取数据,这样就相当于是用回车(enter)当作结束符,
然后把读取到的字符串传入第二个Scanner, 然后在进行处理
ArrayList<Integer> arr = new ArrayList() ;
System.out.println("Enter a space separated list of numbers:");
Scanner in = new Scanner(System.in);
String line = in.nextLine();
Scanner in2 = new Scanner(line);
while(in2.hasNextInt()){
arr.add(in2.nextInt());
}
System.out.println("The numbers were:"+arr.toString());
只需要把nextInt 或者hasnextint等函数改成你所需要的函数名就可以实现 不同的输入,但是是以回车(enter)为结尾了。
java回车结束输入一行
题目
在论坛找到这种方法:
Scanner s =new Scanner(System.in);
String str="";
do {
str=s.nextLine();
if(s.hasNextLine())
break;
}while(true);
System.out.println(str);
经实践,此法不通:
需要两个回车才能结束输入。
发现该解法
Scanner s= new Scanner(System.in);
String str=s.nextLine();
Scanner st=new Scanner(str);
ArrayList a =new ArrayList();
while(st.hasNextInt())
a.add(st.nextInt());
System.out.println(a);
将字符串作为输入流,空格为间隔符:
源码:
this调用下面构造函数:
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341